Разница между выполнением общего оператора try / catch и перехватом определенного исключения (например, FileNotFoundException) обычно зависит от того, какие ошибки нужно обработать, и о каких ошибках не нужно беспокоиться.Например:
catch (Exception e) { //A (too) general exception handler
...
}
Приведенный выше код будет перехватывать КАЖДОЕ исключение, которое выдается внутри оператора try.Но, может быть, вы не хотите обрабатывать каждую ошибку.Что вы можете сделать с исключением «OutOfMemory»?
Лучшим методом обработки ошибок было бы выполнение некоторого действия по умолчанию, если ошибка неизвестна или что-то, с чем вы ничего не можете сделать, и выполнение другого действия, если вы обнаружите, что можете выполнить «План Б», есливы ловите.
Например, предположим, что вы пытаетесь открыть файл, но файл не существует.Вы можете поймать FileNotFoundException и создать новый пустой файл, как показано ниже:
catch (FileNotFoundException e) { //A specific exception handler
//create a new file and proceed, instead of throwing the error to the user
}catch (Exception e) { //For all other errors, alert the user
...
}
Это был самый эффективный и удобный метод проверки ошибок, который я использовал в прошлом.