第20章 异常和状态管理
20.8 指导原则和最佳实践
编译器将你写的代码放到try块内部,并自动将清理代码放到finally块中。
使用lock语句时,锁会在finally块中释放。
使用using语句时,会在finally块中调用对象的dispose方法。
使用foreach语句时,会在finally块中调用IEnumerator对象的Dispose方法。
定义析构器方法时,会在finally块中调用基类的finalize方法。
20.9 未处理的异常
应用程序发生未处理的异常时,Windows会向事件日志写一条记录。为了查看记录,可打开“事件查看器”应用程序,然后打开树结构中的“Windows日志”->“应用程序”节点。
还可以通过“Windows操作中心”来获取更有趣的细节,为了启动操作中心,单击系统托盘中的小旗,选择“打开操作中心”。然后,展开“维护”框,单击“查看可靠性历史记录”链接。随后会在底部的窗格看到应用程序由于一个未处理的异常而终止。