ViS*_*ViS 5 java exception-handling exception
我有一个自定义异常类,它扩展了Exception类(如下所示).
public class SomeABCException extends Exception
Run Code Online (Sandbox Code Playgroud)
但是,当我SomeABCException
在之前Exception
在catch块中使用的所有位置使用它时,即使在扩展Exception
类本身之后它也不会捕获异常.
例如,如果父/调用方法具有如下的catch块
catch (Exception e) {
TODO something;
}
Run Code Online (Sandbox Code Playgroud)
如果我有一个子方法,我正在运行一些数据库查询.
try {
Some database queries;
} catch (SomeABCException e) {
throw new SomeABCException (e.getMessage(),"I/O or SQL_EXCEPTION");
}
Run Code Online (Sandbox Code Playgroud)
这里如果sql连接失败,catch就无法捕获异常,而是被父/调用者catch块捕获,该块使用System.Exception来捕获它.
在调试期间,它不会转到child方法的catch块中.
请解释一下,我不明白.
我相信你的想法是倒退的。的实例Exception
只会捕获子类或其实例的异常。因此,由于Exception
是 的超类,SomeABCException
因此SQLException
不会被捕获。
归档时间: |
|
查看次数: |
2954 次 |
最近记录: |