Я понимаю, для чего используется ключевое слово "finally" на разных языках, однако я с трудом понимаю, почему вы бы использовали его, если бы не было предпочтения форматирования по вкусу.
Например, в PHP:
try {
possibleErrorThrownFunction();
}
catch (CustomException $customException) {
// handle custom error
}
catch (Exception $exception) {
// handle the error
}
finally {
// run this code every single time regardless of error or not
}
Какая разница между тем, что делает этот код, и этим?
try {
possibleErrorThrownFunction();
}
catch (CustomException $customException) {
// handle custom error
}
catch (Exception $exception) {
// handle the error
}
// run this code every single time regardless of error or not
Разве эта последняя строка не всегда запускается из-за ошибки? В таком случае, нет никакого случая, чтобы действительно использовать finally
, если вы просто не хотите поддерживать форматирование в стиле кода?
Пример случая, когда инструкция finally
необходима и отлична от простого размещения кода после операторов try/catch, будет полезна, если я что-то здесь упустил.