【发布时间】:2010-12-08 18:03:25
【问题描述】:
C# 程序由以下人员调用:
Application.Run (new formClass ());
我想在整个过程中使用 try/catch 来捕获任何未捕获的异常。当我把它放在这个 Run 方法周围时,不会捕获异常;仅当程序在未捕获的异常后终止时,控件才会返回此处。
我可以在哪里放置 try/catch 来覆盖整个程序?谢谢!
【问题讨论】:
-
我认为您错过了异常过程的要点,如果异常冒泡到应用程序的最顶层,则需要在代码中解决一些错误。将 try/catch 放在您认为可能失败的代码周围,并在 catch 中提供缓解(在可能的情况下)。如果无法缓解,即应用程序无法恢复,则应用程序需要失败。
-
OP 不是在问应该如何使用异常——只是在特定情况下如何捕获它们。显然,如果顶层出现异常,则说明出现问题 - 似乎他想在出现问题时找出更多信息,以便解决问题。米奇的回答比假设操作员不知道他在做什么更有帮助。
-
在顶层捕获所有异常对于在退出前最后报告发生的事情非常有用。在许多情况下,我认为这比看到标准的 Windows“此程序已崩溃,请向 Microsoft 报告”对话框更好。
标签: c# exception-handling try-catch