我試圖做到這一點引發異常:捕獲由另一種形式
我創建另一種形式,這在它的FormClosed方法拋出一個異常,應該由主要形式被捕獲。
主要形式:
try
{
frmOptions frm = new frmOptions();
frm.ShowDialog();
}
catch(Exception)
{
MessageBox.Show("Exception caught.");
}
frmOptions:
private void frmOptions_FormClosed(object sender, FormClosedEventArgs e)
{
throw new Exception();
}
異常上的調試器停止與此消息:
例外是未處理由用戶代碼
爲什麼?我正在捕捉創建它的對象的所有者中的異常。任何人有想法?
請不要把C#的稱號。這就是標籤的用途。 – Amy
我不明白你描述的問題。我認爲這個問題確實存在,因爲frmOptions運行在不同的線程上,但顯然情況並非如此。我能夠發現沒有問題的例外。我測試了針對.NET 2和4. – Icarus
@Icarus:轉到調試器 - >異常 - >重置全部。然後再試一次,你將通過用戶代碼得到unhnadled異常。 – mileski