Mou*_*hna 10 java exception-handling exception
我正在为我们的代码库做一个评论,有很多这样的语句:
try
{
doSomething()
} catch (Exception e)
{
}
Run Code Online (Sandbox Code Playgroud)
但是我想知道doSomething()抛出哪个异常的方法(在doSomething的实现中没有throw语句)所以我可以捕获该异常,而不仅仅是捕获异常,即使使用findBugs也会发出警告REC_CATCH_EXCEPTION
.
我应该提一下,记录异常或将其打印到控制台对我没有帮助,因为在这种情况下需要时间来重现导致异常的错误.
谢谢
tb1*_*189 15
如果(例如)中没有throws
语句,则将发生的任何异常都是.如果你想知道抛出的异常的确切类,你可以随时尝试doSomething
doSomething() throws IOException
RuntimeException
doSomething
try {
doSomething();
} catch (RuntimeException e){
System.out.println(e.getClass().getName());
}
Run Code Online (Sandbox Code Playgroud)
知道在没有实际运行程序的情况下可以抛出哪些运行时异常是很困难的.即使没有该代码的doSomething()
调用具有显式罚球,核心Java操作可总是抛出NullPointerException
,ArrayIndexOutOfBoundsException
等用了错误的输入.以下是一些想法:
doSomething
.doSomething
应该做好准备的重要错误.在任何情况下,捕获尽可能具体的异常通常是一个好主意,因为当您尝试在一个子句中处理所有情况时,您不确切地知道出了什么问题.
归档时间: |
|
查看次数: |
14198 次 |
最近记录: |