История изменений
Исправление Vic, (текущая версия) :
Всё же желательно не просто высказывать мнение, а краткое объснение почему оно таково.
Резонно, исправляюсь.
defer мне не нравится тем, что его положение в коде не соответствует порядку выполнения алгоритма. Т.е. defer вставляет свой код не явно.
Эта неявность может выйти боком, т.е. программист думал, что defer встанет в одном месте, а реально код вставлен в другом месте.
Вторая опасность неявно вставляемого кода, когда исходный код корректируется и defer по ошибке попадает не в ту область видимости. Узнать об этом можно будет только потом, при обнаружении не правильно работающей программы.
ИМХО, try cathc
выглядит более логичным, чем defer, хотя он тоже ведет к неявно НЕвыполненной части кода, и его я тоже по возможности избегаю.
Исходная версия Vic, :
Всё же желательно не просто высказывать мнение, а краткое объснение почему оно таково.
Резонно, исправляюсь.
defer мне не нравится тем, что его положение в коде не соответствует порядку выполнения алгоритма. Т.е. defer вставляет свой код не явно.
Эта неявность может выйти боком, т.е. программист думал, что defer встанет в одном месте, а реально код вставлен в другом месте.
Вторая опасность неявно вставляемого кода, когда исходный код корректируется и defer по ошибке попадает не в ту область видимости. Узнать об этом можно будет только потом, при обнаружении не правильно работающей программы.
ИМХО, try cathc выглядит более логичным, чем defer, хотя он тоже ведет к неявно НЕвыполненной части кода, и его я тоже по возможности избегаю.