日期:2014-05-18  浏览次数:20379 次

关于Asp.Net的错误(异常)处理的设计方法???
问题1:

现在写一个类,类中是否所有的方法都得用 "try...catch "括起来?这样到底好不好?理由是什么?
据鄙人所知优点:对于异常的捕获得心应手,随时可以跟踪,方便解决,实用性强.可扩展性差.
缺点:代码量大
某人说过 "大量的复制粘贴的时候,就要考虑代码重用 ",我也是个懒人


==================================================================
问题2:

我将写一个错误处理的类,这个类用来处理所有页面级错误的异常,类中所有方法中不再写任何的 "try..catch ",调用类中方法的始终是页面,所以这些异常的处理将在异常类中完成.?这样合不合理?

鄙人所知的优点:代码量少,可扩展,灵活性不大好

==================================================================
问题3

你们在平常的项目开发中对错误处理是怎么来完成的??
怎么做才能更合理?更实用???


希望大家不吝告知小弟你们的想法和意见,先表示感谢



------解决方案--------------------
先BS一下楼主抢沙发.
------解决方案--------------------
很不地道
------解决方案--------------------
try...catch一般情况是能不用就最好不用,通过返回值来判断,不得以再用
------解决方案--------------------
1
在类里,也不是所有地方都要try catch 只有有可能出错的地方要加上,如文件读写,网络传输等不确定因素
2
效率上来说很快,但不是很好,代码不好找错
3
第一种吧.
------解决方案--------------------
类中写try catch, 这样既可以自己出来异常,也可以threw给调用者。进可攻,退可守。
------解决方案--------------------
说说自已的理解;
1:很不推存这种方法.第一感觉就是毫无目的.再是影响一点效率.
1:for(int i=0;i <1000000;i++){}
2:for(int i=0;i <1000000;i++){
try{}catch(Exception e){}
}
3:for(int i=0;i <1000000;i++){
try{
throw new Exception();
}catch(Exception e){}
}
1、2、3三者的执行时间比是5:6:5000
2:以前做的一个C/S项目就是独立写的一个异常类.复用性强啊.
------解决方案--------------------
我也很想知道到底怎么弄比较好。
我的看法是,如果一个方法你确定不会出错,那么就不用try catch了。如果有可能出错,比如取DB时,就一定要用try catch。
try catch 到底放在什么位置这不好说,好象也没有这方面的文章,都是一个人一个做法。我觉得在大的项目中在每个地方都try catch不好,还是写个类来总体管理比较好。小的项目可以随意
------解决方案--------------------
偶一般是写文件,操作数据库,网络连接用try catch多些。。
------解决方案--------------------
不是很明白,mark
------解决方案--------------------
LZ既然对所有的问题都知道各自的优缺点,那么就应该合理利用找寻平衡点。并形成自己的风格~
------解决方案--------------------
学习了
------解决方案--------------------
还是写个类来总体管理

这个怎么实现? 有人给说说么?

我只会第一种....
------解决方案--------------------
还是说,只在最外层调用的地方try ..catch?
------解决方案--------------------
关注~
------解决方案--------------------
不是太清楚,,目前用的比较混乱。
------解决方案--------------------
你还是用微软的企业库吧
那个东西真是好东西哦。
提供日志。异常。。
还支持异常短信,邮件。等方式通知管理员。。非常好用
绝对值得使用。我用了。。感觉太方便了。
http://www.cnblogs.com/Terrylee/archive/2006/08/01/464591.aspx
http://www.cnblogs.com/pw/archive/2006/06/27/437226.html
------解决方案--------------------
up
------解决方案--------------------
路过,学习!
------解决方案--------------------