运行时异常,编译时异常,受检异常与非受检异常分别指什么呢?

书欣 Java面经 发布时间:2022-10-25 23:37:28 阅读数:16511 1 Java基础面试(2023年优化版)
我们都知道try,catch可以捕捉异常,但是异常还分很多种情况--你知道吗?
下文笔者讲述异常的具体分类
Exception分为:
    运行时异常和编译时异常

运行时异常

运行时异常指RuntimeException 类及其子类
  指Java运行时产生的异常,
   如:NPE(空指针异常)
      ArrayIndexOutBoundException(下标越界异常)
	  ClassCastException类型转换异常
	  ArithmeticExecption算术异常
	  此类异常一般由程序逻辑异常而产生,我们可通过修改代码的方式来避免此类异常 

编译时异常

 Exception 中除 RuntimeException 及其子类之外的异常我们称之为“编译时异常”
如:
  JVM根据全限定名加载类时,出现ClassNotFoundException异常
  IOException
  等
  此类异常通常代码中必须使用try,catch或Throw向上抛出异常

Java种所有异常还可以分为
受检异常(checked exception)
非受检异常(unchecked exception)

受检异常

编译器要求必须处理的异常
Exception 中除 RuntimeException 及其子类之外的异常都属于受检异常
编译器会检查此类异常
 当编译器检查到应用中的某处可能会此类异常时,将会提示处理本异常
  此时我们代码必须编写try,catch或throw抛出,否则无法编译通过
  

非受检异常

编译器不会进行检查且不强制要求必须处理的异常,无论是否使用try,catch,throw都可编译通过
程序运行时,如果未使用try,catch则抛出异常
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaMianJing/202210/16667122934714.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者