是否指定例外?

Got*_*tal 5 java performance exception try-catch

我有一个性能问题,当使用try catch子句时,最好指定你可以得到的确切异常,或者只是使用异常它更好?例:

try {
    whatever
} catch (NullPointerException ex) {
    whatever
}
Run Code Online (Sandbox Code Playgroud)

或者如果你不介意什么样的例外:

try {
    whatever
} catch (Exception ex) {
    whatever
}
Run Code Online (Sandbox Code Playgroud)

因为我知道你可以使用不同的异常来触发不同的效果,但我只是要求性能.

Ton*_*son 0

如果性能与异常捕获有任何关系,那么它就不是异常。

它所做的只是一个测试,所以我怀疑它是否会产生任何真正的影响。

无论如何,捕获异常应该是非常罕见的。

如果你在做

try 
{
    whatever
} 
catch (MyException10 ex10) 
{
    whatever
}
catch (MyException9 ex9) 
{
    whatever
}
...
catch (MyException1 ex1) 
{
    whatever
}
Run Code Online (Sandbox Code Playgroud)

然后你可以争论潜在的性能改进,但这将需要重新编写你的代码,这样就不会抛出无数异常......