.NET 4.0、C#
我正在尝试在我的项目中添加一些异常管理框架。如果可能,框架会将异常发布到数据库。
我对异常处理做了大量的研究,但我在理解如何处理发生在事件处理程序(即timer.elapsed或异步回调)中的异常时遇到了一些问题。每个事件处理程序都应该有一个try catch块吗?
发布于 2012-01-06 00:04:11
事件处理程序应始终在其主体中具有try..catch..finally块,以防止事件处理程序传播异常。此外,期望事件处理程序快速执行,因此避免在事件处理程序本身内执行昂贵的IO或数据库操作。
此外,您可以使用像Error这样的属性来向事件的订阅者指示发生了错误(在异步调用的情况下)。
更多信息
https://stackoverflow.com/questions/8744480
复制相似问题