1)
1 - обрабатывать только те исключения, которые вы
на самом деле может что-то делать, и
2 - Вы ничего не можете сделать с подавляющим большинством исключений
a) Я предполагаю, что “By not handling an exception”
текст предполагает, что мы должны позволить исключению пузыриться в стеке, где среда выполнения прервет наше приложение?!
b) Но почему разрешить среде выполнения прервать исключение, а не перехватить его, записать в журнал и затем сообщить пользователю об ошибке? Единственная разница между ними заключается в том, что в последнем случае приложение не прерывается
Например, если база данных выходит из строя, почему должна произойти сбой всей программы (из-за отсутствия обработки исключения), если мы вместо этого можем перехватить исключение, зарегистрировать его и уведомить пользователя о сбое, и таким образом мы можем поддерживать программу работоспособной и работает
2) Если вы знаете, что исключение, которое может быть вызвано каким-либо блоком кода, не может быть обработано, следует ли включать этот код в блок try-finally
или лучше оставить его вне блоков try-finally
?
Спасибо