Java SE 11 Sliver学习笔记(第十章)

Java SE 11 sliver资格考试相关

第十章 例外処理

間違えた:3,7,10,11,12,14,17

間違えし易い:

分からない:

回顾
  1. 父类异常一定要写在子类异常的下面1,否则父类异常就会被先捕捉导致子类异常无法到达,出现编译错误。
  2. finally中的代码一定会执行,即使是catch中有return的情况下。
  3. finally权限最大,当catch和fianlly中都有return时,finally中的return会被执行。
  4. 不懂?return中返回的是一个变量?finally不能对那个变量进行操作?
  5. 一个try只能对应一个finally,但是可以对应多个catch,并且catch可以省略
  6. 嵌套的try catch文中如果有异常,最接近异常的那层try catch将会捕捉异常。
  7. try中声明的变量,catch和finally中不能访问。try-with-resources的运行顺序是
    1. resource中的释放
    2. catch中的处理
    3. finally的处理
  8. 检查例外(Exception以及继承它的子类(除去RuntimeException))和非检查例外(RuntimeException以及继承它的子类)的区别。检查例外必须要用try catch围起来,或者是必须用throws宣言。而非检查例外就不需要强制,可以自由选择。多个例外throws是用逗号分隔
  9. Error为了分类,是可以继承Errors类的。常见的例如OutOfMemoryError,NoClassDefFoundError。Error是在程序运行时被抛出的。但是也可以被throw-catch或者throws。
  10. ArrayList的越界访问时丢出的是IndexOutOfBoundException。数组越界访问异常是ArrayIndexOutOfBoundException。文字越界异常是StringIndexOutOfBoundException。不存在ListIndexOutOfBoundsException这样的例外。
  11. 没有继承或者实现关系の1两个类强制转型时候,运行时会报ClassCastException。强制转型前应该使用instanceof进行判断。
  12. null是无参照的,因此null使用方法时会报空指针异常。
  13. 因为会发生嵌套引用,用尽stack空间,所以会报StackOverflowError。
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2020-2021 Joe
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信