IMHO, не такую уж и полную Как вспомню задачку "пересчитайте все пути исполнения в этом коде из 5-ти строк с 1-им if'ом" из книжки по STL Programming, так аж дрож берет. Когда каждый оператор может бросить эксепшн... Бррр. И все должно корректно завершится в любом случае... Exception-safe конейнеры, например, ооочень непростая вещь.
да ведь альтернатива-то - анализировать код возврата на все возможные ошибки - ничего не упрощает. уничтожается возможность автоматически пробросить ошибку наверх, вот и всё. плюс, становится непонятно, что делать в стандартнейшем случае
try
func_a();
func_b();
func_c();
except
on e: Exception1 do Handle1();
on e: Exception2 do Handle2();
else HandleDefault();
end;
писать "if (ret_val <> 0) goto" после каждого вызова? уж лучше вы к нам.
(no subject)
Date: 2003-10-15 06:38 am (UTC)Как вспомню задачку "пересчитайте все пути исполнения в этом коде из 5-ти строк с 1-им if'ом" из книжки по STL Programming, так аж дрож берет.
Когда каждый оператор может бросить эксепшн... Бррр.
И все должно корректно завершится в любом случае... Exception-safe конейнеры, например, ооочень непростая вещь.
(no subject)
Date: 2003-10-15 07:56 am (UTC)писать "if (ret_val <> 0) goto" после каждого вызова? уж лучше вы к нам.