Java-L02: Exception 与 Error 的差异

2019-04-09  本文已影响0人  WenxuanLi

李文轩 2019-03-08
声明:这是本人学习极客时间的Java核心36讲的笔记,有侵权请联系我。


Throwable类:


Exception:

checked vs. unchecked


Error:


具体 throwable class

Java_Throwable

实践:

  1. 尽量不要捕获类似 Exception的通用异常,而是应该捕获特定异常
    • 被抛出的异常该体现出尽量多的信息,通常异常往往隐藏了部分信息
  2. 不要生吞(swallow)异常
    • 即假设代码可能不会发生(极其危险),检查到这个异常时不给任何措施
    • 这样的处理会导致,如果真的运行到这段代码,没有人会知道发生了什么
  3. 产品中用 printStackTrace() 的选择错误
    • printStackTrace() 仅仅是输出到 standard error steam (STERR),对于产品来说,往往输出到产品日志会是更好的选择;因为复杂的系统,我们很难判断 printStackTrace() 会输出到哪

Throw early, catch late


自定义异常:


性能角度审视Java的异常处理机制(try-catch):

上一篇下一篇

猜你喜欢

热点阅读