[C#] 複数の例外(Exception)を一箇所で処理する方法

with 1件のコメント

特に.Net系のメソッドで顕著なのだけれど、飛んでくる可能性のある例外が多すぎて、いちいちcatch文を書いていると too long code になってしまうことがある。

だからと言って例外をキャッチしないのは問題であることは論をまたない。

catchしたらしたでコードが長くなるし、しなかったらいざ例外が飛んできたときに対応できないし、といった両極に挟まれたとき、今回紹介する方法で一挙に解決できる。

 

Exceptionをキャッチする

とても乱暴だけれど、すべての例外クラスが継承するException型でキャッチすれば、例外を取りこぼすこともない。

このままだと、不必要な例外も処理してしまう可能性があるから、やはり乱暴にすぎる。

解決策は、例外オブジェクト(exception)の型を、より詳細に見ること。

期待していた例外オブジェクトならエラー処理を行い、そうでないなら更に上へ例外を投げるというもの。

やっていることは、いちいちcatch文を書く場合と同じだから、コード量が少なくなるこちらを選ばない手はない。

ただ、キャッチする例外が一つか二つだとか、各例外に対する処理が違うとかであれば、catch文をコツコツ書いていったほうが短くなるから、その場その場で使いドコロを考えたい。

 

もっとC# Tipsを知りたい!という欲張りさんなプログラマーへのおすすめ。

 

 

One Response

  1. […] [C#] 複数の例外(Exception)を一箇所で処理する方法 […]