2012-10-01 29 views
0

如果我将AppDomain.CurrentDomain.UnhandledException代码放在控制台应用程序中,而不是通常的try-catch,以捕获未处理的异常。这意味着,它确定任何异常都不会强制应用程序在两者之间终止? 如果不是,哪类异常超出范围?控制台应用程序中强大的异常处理

回答

0

不,这意味着您将有机会在之前运行一些代码,但是您将无法防止崩溃。 Documentation

此事件提供未捕获异常的通知。它允许 应用程序在系统默认处理程序向用户报告异常并终止 应用程序之前记录有关异常的信息。

试图通过盲目追赶所有异常,使应用程序“防撞”是一个傻瓜的差事:因为你真的不知道哪里出了问题,你怎么知道它是确定的程序继续运行?从理论上讲,任何东西你在事件处理程序内部做的事情可能会以任何可能的方式出错(因为引发了未处理的异常,你不知道它是什么,它可能是任何东西)。因此,不仅不可能阻止应用程序崩溃,而且还应该小心处理处理程序中的内容。