当代码抛出许多异常并且句柄相同时,哪个选择更好?
try{
}catch(ExceptionOne e1)
{
someHandle()
}
catch(ExceptionTwo e2){
someHandle()
}
catch(ExceptionThree e3)
{
someHandle()
}
或
try{
}catch(Exception e1)
{
someHandle()
}
有些书籍在包含异常时会尝试抓住它,不要尝试cacth所有异常。
哪个更好?
答案 0 :(得分:8)
第一个更好。第二个捕获所有异常,这可能包括一些您不想捕获的异常。
如果升级到Java 7,可以使用catch block that can catch more than one type of exception,这是一个更清洁的解决方案。
try {
// Something that might throw.
}
catch(ExceptionOne | ExceptionTwo | ExceptionThree e) {
someHandle()
}
答案 1 :(得分:-1)
如果你不关心异常是什么,你可以抛出一般的“异常:”
try {
...
} catch (Exception e) {
}