您的位置:首页 > 其它

在.Net中处理异常应注意的问题

2009-01-14 23:13 323 查看
我们在编写程序时总免不了和错误打交道,在结构化时代,常用的做法是用返回值来表达是否出错,到了OO时代,我们可以使用异常来表达错误,但如果使用不当,就不能达到应用的效果。请看下面的例子:

F1()

{

Code

try

{

F2();

}

catch(SqlException ex)

{

DoSomethingToRecover();

throw new MyException("My Message", ex);

}
下面给出我的异常处理建议:

1. 不能处理的异常尽可能不要捕捉, 除非在catch块中必须要做一些恢复或日常记录,在这种情况下总是抛出新的异常,并将原始异常作为内部异常;

2. 尽可能只捕获特定的异常,而不要捕获Exception异常本身;

3. 在出现错误的情况下用异常而不用返回值来表达错误,这样代码会更简洁;

4. 不要使用异常来表达正常的逻辑,比如用户登录验证失败就不应该使用异常;

5. 异常日志的记录应该放在分层的边界处,比如服务层,层的内部一般不需要记录日志。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: