【发布时间】:2010-10-09 06:12:01
【问题描述】:
最近我参加了 Jeffrey Richter 的 .NET 培训课程。他提到了一种编码策略“死是真棒”。也就是说,即使在程序或事件循环的根部也不要写“catch (Exception ex)”。如果抛出了一些没有处理的异常,就让进程死掉。
我不确定这是否正确。就个人而言,我更喜欢在执行的顶层使用“try {...} catch(Exception ex) {log and try to recover}”来包装。实际上,如果从 asXx 抛出任何异常,ASP.NET 不会死。如果它确实因异常而死,那么一个灵丹妙药的请求可以使整个服务保持沉默。
你怎么看?
【问题讨论】:
-
无论您是尝试恢复还是让应用程序死机,我仍然会尝试记录错误,除非您确信,在您的上下文中,运行时将在事件中捕获足够的异常信息记录。
标签: .net exception architecture exception-handling crash