私は(CTRL-F5を - デバッガなしで実行)を使用して実行したときに私は次のような場合には1メッセージボックスを取得し、なぜ私は理解していないVS2010で:ThreadExceptionのための1つのAND ONLY 1ハンドラしか存在できませんか?
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
' Add the event handler for handling UI thread exceptions to the event.
AddHandler Application.ThreadException, AddressOf ThreadExceptionHandler
AddHandler Application.ThreadException, AddressOf ThreadExceptionHandler2
Throw New Exception("Ha!")
End Sub
Private Sub ThreadExceptionHandler(ByVal sender As Object, ByVal e As ThreadExceptionEventArgs)
MsgBox("FirstHandler")
End Sub
Private Sub ThreadExceptionHandler2(ByVal sender As Object, ByVal e As ThreadExceptionEventArgs)
MsgBox("SecondHandler")
End Sub
End Class
これは奇妙に聞こえる。どちらを手に入れますか? –
MsgBoxは "SecondHandler"と答えています – Denis
デザインによって。このイベントには、カスタムのアクセサを追加できます。デリゲートにハンドラを追加しないものは、それを置き換えます。ハンドラは1つしかなく、最後のハンドラが勝つ。 –