Маленькая область try/catch работает лучше, чем широкая область этого или нет различий?
small area
try{
// the line needs exception handling
} catch( Exception e) {
}
wide area
try{
// the line needs exception handling
// other lines of code
} catch( Exception e) {
}
Не было каких-либо значительных затрат на производительность для ввода блока try
в Java с Java 1 или 2 (если тогда, я не совсем помню, это было давно). Это (немного) дорого, когда выбрано исключение (это нормально, они предназначены для исключительных условий, а не для нормальных), но вход в блок try
дешев. Таким образом, с точки зрения производительности для нормального потока потока в вашем коде, не имеет значения, используете ли вы несколько маленьких или пару больших.
Цель и цель исключения состоит в том, чтобы позволить вам переместить обработку исключений из вашего основного кода, что говорит о том, что для более крупных блоков, а не для меньших, в условиях отсутствия производительности. Но если вы держите методы короткими (что является одним из критериев качества ключа/ремонтопригодности), единый блок исключений (если он вам нужен) может охватывать почти весь метод, не будучи большим.
Не может быть никакой разницы. Но если существует другой метод, который генерирует разные типы исключений, это не является хорошим способом перехвата Exception
. Вы должны поймать особое Exception
отличное от Exception
верхнего уровня.
Например:
try{
// logic one
}catch(MyException1 e){
}
try{
// logic two
}catch(MyException2 e){
}
Вы можете преобразовать это в Java 7
try{
// logic one
// logic two
}catch(MyException1 | MyException2 e){
}