`
xinglongbing
  • 浏览: 146604 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Java异常

 
阅读更多

        编写代码难免跟各种异常情况打交道,不能层次的异常处理有不同的方式。当最终客户使用软件发生异常时应该给出尽量友好的提示信息;而对程序员来说为了方便定位问题,当发生异常时,异常信息需要指出:

1.是什么出错;说明这是一个什么类型的异常;

2.代码哪个位置出错;异常的堆栈信息;

3.为什么会出错;具体导致异常的信息;

上面讲到了异常信息应该包含的几个方面,那么异常处理的时机也很重要:

1.尽早抛出可能发生的异常;(fail fast的思想)

2.在合适的层次进行异常的catch;

一个异常的发生应该在源头就对其进行捕捉和抛出,而不要运行到后面才抛出,比如构造一个IO输出流,那么在新建流的时候就应该对fileName进行判空检查及早抛出一个参数不合法的异常而不要等到后面使用流时抛出NullPointerException。

当可能发生异常时不要一律catch掉或打个log.error,当你不知道发生异常该如何处理时可以不对异常做处理直接往外抛,让异常在合适的层次被处理以用户友好的方式结束异常。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics