LINUX.ORG.RU

История изменений

Исправление Vic, (текущая версия) :

Всё же желательно не просто высказывать мнение, а краткое объснение почему оно таково.

Резонно, исправляюсь.

defer мне не нравится тем, что его положение в коде не соответствует порядку выполнения алгоритма. Т.е. defer вставляет свой код не явно.

Эта неявность может выйти боком, т.е. программист думал, что defer встанет в одном месте, а реально код вставлен в другом месте.

Вторая опасность неявно вставляемого кода, когда исходный код корректируется и defer по ошибке попадает не в ту область видимости. Узнать об этом можно будет только потом, при обнаружении не правильно работающей программы.

ИМХО, try cathc выглядит более логичным, чем defer, хотя он тоже ведет к неявно НЕвыполненной части кода, и его я тоже по возможности избегаю.

Исходная версия Vic, :

Всё же желательно не просто высказывать мнение, а краткое объснение почему оно таково.

Резонно, исправляюсь.

defer мне не нравится тем, что его положение в коде не соответствует порядку выполнения алгоритма. Т.е. defer вставляет свой код не явно.

Эта неявность может выйти боком, т.е. программист думал, что defer встанет в одном месте, а реально код вставлен в другом месте.

Вторая опасность неявно вставляемого кода, когда исходный код корректируется и defer по ошибке попадает не в ту область видимости. Узнать об этом можно будет только потом, при обнаружении не правильно работающей программы.

ИМХО, try cathc выглядит более логичным, чем defer, хотя он тоже ведет к неявно НЕвыполненной части кода, и его я тоже по возможности избегаю.