1.Почему нам нужно несколько блоков «catch», даже если мы можем написать одно общее исключение?
Иногда вам может потребоваться указать причину проблемы.
Например,
try {
...
} catch(IOException e) {
// Print "Error: we cannot open your file"
} catch(SQLException e) {
// Print: "Error: we cannot connect to the database"
}
С различными ошибками пользователи могут легко понять, что пошло не так.
Если мы выберем
try {
...
} catch(Exception e) {
// Print "Error: " + e.
}
Пользователям будет сложнее понять, что пошло не так.
Кроме того, мы можем отправлять пользователей на разные страницы в соответствии с ошибкой, если мы используем несколько catch
-ов.
2. Важно знать все исключениятипы и их цели, чтобы сделать хороший кусок кода?
Лично я бы пошел с важными исключениями, такими как IO, DB и т. д., которые могут вызвать серьезные проблемы.Для других я бы поймал с общим исключением.