からスローされているのと同じcatchブロックでキャッチされていますにスローカスタム例外はすぐにこれはデバッガの問題になるが、ここでは行くことがあり
私は、コードのこの部分を持っている:
Private Function Connect() As Boolean
Try
sessionBegun = False
connectionOpen = False
rp = New RequestProcessor2()
rp.OpenConnection2("","EZSystem", QBXMLRPConnectionType.localQBD)
connectionOpen = True
ticket = rp.BeginSession("", QBFileMode.qbFileOpenDoNotCare)
sessionBegun = True
Return True
Catch e As COMException
exceptionHandler.HandleConnectionException(e)
**Throw New QuickBooksConnectionException(e.Message)**
End Try
End Function
私の意図があります低レベルの例外をより意味のあるものに「変換する」ために、私は自分自身の作成の例外を投げます。私はこれが私がそれを扱うことができる場所に泡立ちたい。
しかし、私のデバッガが壊れて、 "QuickBooksConnectionException"型の例外がスローされたということが起こっています。
私は知っている、私はそれを投げた、なぜあなたはそれをキャッチですか?
私が読んだところでは、これはうまくいくはずで、類似のJava throwsキーワードではないようですので、おそらくそれは私のデバッガです。
私はSharpDevelopを使用しています。書かれたよう
おかげで、 デーン
これは、デバッガがその仕事をしているところです。未処理の例外を検出します。あなたは何を期待していますか? – MarkJ
私はそれが呼び出し側にバブルアップし、そこで爆発することを期待していました。 – Danedo
コールスタックを囲んでTryブロックを探します。囲みTryブロックがない場合、未処理の例外動作が発生します。つまり、デバッガ*の下で*を実行している場合、デバッガは例外をスローした元の行を表示できるようにコールスタックを巻き戻します。例外が発生した理由をデバッグするのに役立ちます。スタンドアロンEXEから実行してみてください。標準エラーダイアログで終了します。あなたのコードは正常に動作していると思いますが、デバッガだけで混乱するかもしれません。 – MarkJ