Java异常是通过try,catch,finally,throw和throws5个关键字来实现的。
try-catch-finally
-
保证在程序出现异常的情况,可以继续执行
-
1.正常运行。 try > finally > finally之后的
-
2.出现异常,正确匹配异常。try(try中异常后的代码不执行) > 匹配的catch > finally > finally之后的
-
3.出现异常,没有匹配的异常。try(try中异常后的代码不执行) > 程序中断
-
4.catch中 有return的情况。 return在最后。
-
5.finally是无论有异常或没有异常都会执行。
Exception 是所有异常的父类。可以匹配所以异常。这个异常要放在多个catch的最后。
-
有多个catch的情况下,程序只执行一个catch。
-
必须要有try,但不能只有try
throw用于在程序中抛出异常。
throws 在定义方法时声明异常。告诉调用者,这个方法需要有异常处理。
处理异常有两种方式:
-
1.try-catch 在这个地方处理了异常
-
2.throws 不处理异常,让调用者处理这个异常。他后面可以跟多个异常类型,用逗号隔开。
throw和throws的区别:
- throw位于方法体内,可作为单独语句使用,用于抛出一个异常对象,而且只能是一个。
- throws必须跟在方法参数列表后面,不能单独使用,后面跟异常类,而且可以跟多个类。