概念:
异常就是不正常的意思。异常的超类是java.lang.Throwable,其下有两个子类,分别是java.lang.Error 和 java.lang.Exception,我们平时所说的异常就是指Exception。
error和exception的区别?
error是指无法通过处理的错误,好比绝症,只有修改源代码
exception好比一些小感冒,可以通过处理,让代码继续运行。
异常又可以分为编译时异常和运行时异常。
编译时异常:checked异常,是指在代码编写时出现的异常,无法通过编译。
运行时异常:runtime异常,在运行时期,检查出的异常。在编译时期,运行异常不会被编译器检测。
try catch 、throws、throw有什么区别?
try catch:捕获异常,自己处理异常 。
throws:声明异常,交给方法的调用者处理,最终被jvm处理,jvm则终止程序,打印异常。
throw:抛出异常,必须使用在方法内部
1、如果throw抛出的是RuntimeException或RuntimeException的子类,我们可以不做处理,直接交给jvm处理。
2、如果throw抛出的是编译时异常,必须要进行处理,要么try catch,要么throws。