美文网首页
2021-05-15 《Java 核心技术36讲》学习记录二

2021-05-15 《Java 核心技术36讲》学习记录二

作者: _笑口常开 | 来源:发表于2021-05-16 07:21 被阅读0次

简述

此文是对 第2讲 | Exception和Error有什么区别? 的学习

一些知识点/笔记点:

  • Exception 和 Error 都是继承了 Throwable 类
  • Exception 是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。
  • Error 是指在正常情况下,不大可能出现的情况;
  • Exception 又分为可检查(checked)异常和不检查(unchecked)异常
  • 可检查异常在源代码里必须显式地进行捕获处理,这是编译期检查的一部分
  • 不检查异常就是所谓的运行时异常,类似 NullPointerException、ArrayIndexOutOfBoundsException 之类
  • 经典题目: NoClassDefFoundError 和 ClassNotFoundException 有什么区别?
  • 异常处理的两个基本原则:
    1.尽量不要捕获类似 Exception 这样的通用异常,而是应该捕获特定异常
    2.不要生吞(swallow)异常
  • 实际使用中不要使用e.printStackTrace();最好使用产品日志,详细地输出到日志系统里
  • Throw early, catch late 原则。
  • 根据需要自定义异常
  • Java 的异常处理机制存在的问题:
    1.try-catch 代码段会产生额外的性能开销
    2.Java 每实例化一个 Exception,会有快照,相对比较重的消耗

相关文章

网友评论

      本文标题:2021-05-15 《Java 核心技术36讲》学习记录二

      本文链接:https://www.haomeiwen.com/subject/ivnkjltx.html