首先,放一张图在这:
在java的语言体系中,常见的异常处理有error和exception,其中Error和Exception都继承了Throwable类,也就是都可以被抛出
从概念角度解析Java的异常处理机制
➢Error :程序无法处理的系统错误,编译器不做检查
➢Exception :程序可以处理的异常,捕获后可能恢复
➢总结:前者是程序无法处理的错误,后者是可以处理的异常
而对于exception来说,又分为runtimeException和非runtimeException
◆RuntimeException : 不可预知的,程序应当自行避免
◆非RuntimeException :可预知的,从编译器校验的异常
从责任角度看:
1.Error属于JVM需要负担的责任;
2.RuntimeException是程序应该负担的责任;
3.Checked Exception可检查异常是Java编译器应该负担的责任。