异常处理:
try - catch - finally
try {
接受监视的程序块,在此区域内发生的异常,由catch中指定的程序处理
} catch (Exception e) {
处理异常
}finally {
最终处理
}
程序中的功能代码放在try中,在try中的代码抛出异常后,这行代码之后的代码try中的代码都将不会在执行,现在将查找匹配的catch功能继续处理,将catch块中的代码顺序依次匹配异常类型。如果有任何一个catch块被匹配,那么其他的catch将不会再次被匹配,在catch块代码执行完成后,执行try\catch块后面的代码。如果没有匹配任何一个catch块,那么异常将被抛出到函数外面。如果有任何一个catch块被匹配,那么抛出的异常对象将被赋给catch中定义的异常变量。
throws和throw
throws
利用throws可将异常抛出本函数,如果不想在函数内部处理,或者是处理不了,这可将异常抛出到函数外部,即表明该方法将不对这些异常进行处理,而有该方法的调用者负责处理。
throws关键字用在方法的声明中用来指明方法可抛出一个或多个异常。
throw
通过throw关键字抛出异常后还需要使用throws或者try catch finally 对异常进行处理。注意:如果throw抛出的是error或者RuntimeException或他们的子类异常时,则无需使用throws或者try - catch - finally对异常进行处理。即:抛出编译异常或Exception时需要使用throws或者try-catch-finally对异常进行处理。
throws和throw区别:
相同点:两者都是做异常的抛出处理的。
不同点:
1、使用的位置不同:在函数上使用throws声明被抛出的throws异常类型,在函数内使用throw抛出异常对象。
2、后面接的内容不同:
throws后是抛出的异常类型,可以有多个,使用逗号隔开。
throw后是一个被抛出的异常对象。