JAVA面试点滴整理——全面剖析

Exception与Error有什么区别

2019-03-13  本文已影响12人  从林战士们
Exception与Error有什么区别笔记图

所有程序都会有错误发生,我们叫它bug

image.png
  1. 尽量不要捕获直接Exception这样的通用异常,而是应该捕获特定异常;需要了解可能会抛出的特定异常如IterruptedException

  2. 不要生吞异常,往往是基于假设这段代码不会发生,或者感觉忽略异常无所谓的,但是千万不要在产品代码中做这种假设

  3. Throw early,catch late原则

  1. 是否需要定义成可检查的Exception(checked Exception),因为这种类型设计的初衷更是为了从宜昌情况恢复,作为异常设计者,我们往往有充足的信息进行异常分类

  2. 为保证诊断信息足够的同时,也要考虑避免包含敏感信息,因为那样可能导致潜在的安全问题。

    如果我们看Java的标准类库,你可能注意到类似Java.net.ConnectionException,出错信息是类似“Connection refused”,而不包含具体的机器名、IP、端口等,一个重要考量就是信息安全。类似的情况在日志中也有,比如,用户数据一般是不可以输出到日志里面的。

总结Summary

上一篇下一篇

猜你喜欢

热点阅读