2012-10-01 61 views
0

如果我將AppDomain.CurrentDomain.UnhandledException代碼放在控制檯應用程序中,而不是通常的try-catch,以捕獲未處理的異常。這意味着,它確定任何異常都不會強制應用程序在兩者之間終止? 如果不是,哪類異常超出範圍?控制檯應用程序中強大的異常處理

回答

0

不,這意味着您將有機會在之前運行一些代碼,但是您將無法防止崩潰。 Documentation

此事件提供未捕獲異常的通知。它允許 應用程序在系統默認處理程序向用戶報告異常並終止 應用程序之前記錄有關異常的信息。

試圖通過盲目追趕所有異常,使應用程序「防撞」是一個傻瓜的差事:因爲你真的不知道哪裏出了問題,你怎麼知道它是確定的程序繼續運行?從理論上講,任何東西你在事件處理程序內部做的事情可能會以任何可能的方式出錯(因爲引發了未處理的異常,你不知道它是什麼,它可能是任何東西)。因此,不僅不可能阻止應用程序崩潰,而且還應該小心處理處理程序中的內容。