异常捕捉机制和捕捉到的异常
异常捕捉机制
异常的抛出和处理
只有当异常在try模块中被抛出时,可以被catch模块所捕捉。
如果要在程序中由程序自己跑出一个系统为定义过的异常,则必须使用throw语句显示地进行抛出。
throw语句的语法是:throw<异常类对象>
注意:只有Throwable类及其子类对象才能被抛出、捕捉。
抛出异常后,对其捕捉和处理有两种情况:
1、在同一个方法中抛出并处理异常
在同一个方法中抛出并处理异常时,throw语句必须写在try模块中,通过try-catch-finally语句来完成异常捕捉。
2、在一个方法中抛出异常而在另外一个方法中处理异常
如果抛出异常和处理异常的不是同一个方法,则要求在抛出异常的方法定以后必须加入语句:throw Exception
然后,在另外的方法中调用此方法时,必须把调用的语句放在try模块中,然后try-catch-finally语句来完成异常捕捉。
捕捉到的异常
捉到了做什么?
拿到异常对象之后
String getMessage();
String toString();
void printStackTrace();
但是肯定是回不去了,而具体的处理逻辑则取决于你的业务逻辑需要
再度抛出
如果在这个层面上需要处理,但是不能做最终的决定