2017-02-15 74 views
2

是否有可能捕獲由外部(遺留)程序集處理的異常?由外部程序集處理的捕獲異常

我不認爲我可以捕獲這些異常,因爲它們已經處理,但類似於Visual Studio「打破所有異常」,我想也許我至少可以得到關於異常的一些通知。

例如:MyProduct.exe調用Utils.dll和Utils.dll吞嚥所有異常,並且在發生錯誤時不返回任何信息。

PS:修改外部組件顯然是一種選擇,但它是非常困難的,因爲它是在數百個自定義副本

回答

4

您可以訂閱AppDomain.FirstChanceException event得到通知例外的實際傳播:

這個事件只是一個通知。處理此事件不會處理該異常,或以任何方式影響後續的異常處理。事件發生並且事件處理程序被調用後,公共語言運行庫(CLR)開始搜索異常的處理程序。 FirstChanceException爲應用程序域提供了第一次檢查任何託管異常的機會。

+0

謝謝@stuartd。這正是我所期待的。如果有人想要一個簡短的總結[這個答案](http://stackoverflow.com/a/564697/3606250)也是有幫助的。 – drizin

相關問題