・開発機
Windows7 Professional
VB.NET2010 Professional
ODP.NET (11.2.0.3.0)
Oracle Developer Tools for VisualStudio
・DBサーバー
Windows Server 2008 R2
Oracle Database 11.2.0.3.0(x64)
Oracle Client 11.2.0.3.0(x86)
下記のようなプログラムで、デバッグ有りで開始します。
TableAdapterのFillメソッドを呼び出す直前の
エラー1の箇所でスローされた例外はApp_UnhandledExceptionで捕捉されますが、
エラー1をコメントアウトしたうえでエラー2の箇所でスローされた例外は
App_ThreadException、App_Unhandled
のどちらにも捕捉されず、ブレークポイントを置いても何故かブレークしません。
挙動が異常終了しているように見えましたので、
イベントログに何か記録されているかと思いましたが何も記録されていませんでした。
ロジック中のFillメソッド自体は正常に通過しており、エラー2をThrowする行にブレークポイントを置くと正常にブレークします。
何か環境の構成に問題があるのか、根本的に誤ったコードの記述をしているのでしょうか?
また、同じような現象でお悩みになった方などいらっしゃいませんでしょうか?
Public Shared Sub Main(ByVal CmdArgs() As String)
AddHandler Application.ThreadException, AddressOf App_ThreadException
AddHandler Thread.GetDomain().UnhandledException, AddressOf App_Unhandled
Using ta0010 As New M0010TableAdapters.M0010TableAdapter
Using ds0010 As New M0010
Throw new Exception("エラー1") ・・・捕捉される
ta0010.Fill(ds0010._M0010, 12345)
Throw new Exception("エラー2") ・・・捕捉されない
End Using
End Using
End Sub
Private Shared Sub App_ThreadException(ByVal sender As Object, ByVal tex As ThreadExceptionEventArgs)
MessageBox.Show("エラー")
End Sub
Private Shared Sub App_Unhandled(ByVal sender As Object, ByVal unex As UnhandledExceptionEventArgs)
MessageBox.Show("エラー")
End Sub