В блоке Try Catch finally блок finally всегда выполняется независимо от того, что, или только если блок catch не возвращает ошибку?
У меня создалось впечатление, что блок finally выполняется только в том случае, если блок catch проходит без ошибок. Если блок catch выполняется из-за ошибки, не следует ли его остановить выполнение вместе и вернуть сообщение об ошибке, если оно есть?