自作例外クラスを捕まえる方法

解決


おみ  2006-07-09 08:45:25  No: 132283

こんにちわ。

自作例外クラスを捕まえる方法について、どなたかご存知の方がいましたら、教えてください。

  Try

  catch As Exception

  End Try

この方法でキャッチしてしまうと、自作例外クラスを全てCatchすることが出来るのですが、自作ではない例外クラスもキャッチしてしまいます。

そこで、以下の方法に変更しました。

  Try
  
  catch ex as myErrorClass1
  
  catch ex as myErrorClass2
  
  catch ex as myErrorClass3
  
  catch ex ax exception
  
  End Try

ですが、これだと、自作例外クラスを追加するたびに、
Try Catchの箇所も変更が必要になってきます。
なので、こんなことが出来れば、一番良いのですが、
何か方法ってあるのでしょうか?

どなたかご教授ください。

  Try
  
  catch As 自作例外クラスのものをすべて
  ' ここでは、Exceptionクラスから派生した自作クラスを全て捕まえたい。
  catch As Exception
  
  End Try

よろしくお願いします。


魔界の仮面弁士  2006-07-09 09:10:26  No: 132284

> catch ex as myErrorClass1
例外クラスの名前は、「○○○Exception」にするのが一般的かと。

> なので、こんなことが出来れば、一番良いのですが、
> 何か方法ってあるのでしょうか?
たとえば、
  MustInherit Class myBaseException
    Inherits Exception
  End Class
のような物を作っておき、myErrorClass1〜myErrorClass3 には、
この myBaseException を継承させてみてください。そうすれば、
自作例外はすべて、「Catch As myBaseException」で取得できますよ。


おみ  2006-07-09 18:01:25  No: 132285

おおぉぉ。
ありがとうございます。
基底クラスで判断すればよかったのですね!

解決しました。ありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加