问题描述
现在项目中需要在每一个Form出现异常的时候,在一个地方处理这个异常,我们现在用的方法是挂事件到Application.ThreadException和AppDomain.CurrentDomain.UnhandledException上去,在报错的时候能够判断到底是哪个类型的异常,然后做相应的处理。但是问题来了,在这两个事件是全局性的,一个是主线程异常,一个是其他线程的异常,不能判断是哪个Form发生的。请问大家,能不能有一个方法能够知道是哪个Form出现的异常并且能够在一个比较共同的地方进行处理。目的是不想在写业务的时候大家都去写try,catch块。
解决方案
解决方案二:
try,catch是个好习惯
解决方案三:
没有人有好办法么
解决方案四:
请问大家,你们做项目的时候大体是怎么解决异常问题的呢?因为我感觉这个项目的异常机制好像有点理想化,想再业务画面基本上不用写TryCatch块
解决方案五:
在可能发生的异常的地方使用try...catch...这样才可能有针对性地处理问题
解决方案六:
对于try。。catch的功能你理解错了,你的想法也不对,真的写异常处理也就几行代码,推荐的实现方式:1.使用log4net组件,网上有很多例子。2.使用企业库中的ExceptionHandler,http://blog.csdn.net/zhzuo/archive/2004/08/31/90549.aspx
解决方案七:
Exception的ToString()方法或者Stack属性里面输出的字符串可以看到异常抛出的位置啊,能够定位到哪个文件的哪一行
时间: 2024-10-11 03:20:07