在爲ASP.NET編寫代碼時,如果連接了調試器,如果您訪問引發異常的網頁,則會在導致該異常的代碼行中啓動未處理的異常幫助程序。ASP.NET如何處理未處理的異常?
即使您只捕獲未處理的異常並且沒有捕獲拋出的異常,也會發生這種情況。但是,按F5,忽略異常,或者沒有附加調試器不會導致AppDomain被拆除。不管怎樣,ASP.NET無論如何處理未處理的異常。
這是如何工作的,並且像這樣的異常處理可以在其他地方實現,以便吞併其他未處理的異常而不是終止整個AppDomain或進程?
編輯:爲了澄清,我理解異常處理和try ... catch塊如何工作。但是,在這種情況下,似乎調試器正在考慮異常未處理的,同時ASP.NET正在將try ... catch中的異常封裝起來。那是我想要模仿的行爲。
我認爲這個異常是通過將最上面的異常的描述細節和stacktrace刷新到HttpResponse來處理的。我相信你也可以這樣做。 – TWickz 2012-07-28 11:31:11
這裏的關鍵似乎是**用戶** - 未處理vs未處理。 – 2012-07-28 15:47:07
而反對票是因爲...?如果這是一個簡單的問題,爲什麼沒有人能夠解釋調試器如何從「系統代碼」中確定「你的代碼」? – 2012-07-30 12:12:24