(面试题)Java中的异常体系

47 阅读1分钟

顶级接口是Throwable,下面有两个实现类

  • Error是程序无法处理的错误,一旦出现这个错误,程序将被迫中止,比如内存溢出OOM
  • Exception是程序可以处理的异常,可以进行捕获处理,就不会导致程序停止,又可以分为
    • RuntimeException运行时异常,发生在程序运行过程中,语法上不会提示需要捕获,比如1/0
    • CheckedException检查异常,发生在编译阶段,在编译的时候就会提示你必须捕获,否则无法通过编译
        比如Class.forName通过反射创建对象,编译器会提示你需要捕获ClassNotFound异常