Мы все слышали, что в Java 7 мы можем написать:
try {
//something with files and IO
} catch (FileNotFoundException | IOException ex) {
ex.printStackTrace();
System.out.println("It's can't copy file");
}
вместо
try {
//something with files and IO
} catch (FileNotFoundException wx) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
но что это действительно хорошо, кроме более короткого кода?
Даже если мы хотим, чтобы в каждом блоке catch выполнялись одни и те же операции, мы можем:
- только перехватывает IOException, поскольку FileNotFoundException является подтипом.
или
- если одно исключение не является подтипом другого, мы можем написать некоторый метод handleException () и вызвать его в каждом блоке перехвата.
Итак, эта функция используется только для более чистого кода или для чего-то еще?
Спасибо.