И Ivan
Как я понимаю, в исключениях можно глянуть в табличку, где это исключение ловится, и размотать стек до нужной точки. А коды ошибок придется каждый раз копировать. Если стек большой, то будет хуже
Не представляю, как это согласуется с необходимостью вызовов деструкторов всех созданных объектов на стеке в каждой из функций, впрочем, опять же, я очень далёк от этой темы, так что может быть, в каких-то случаях исключения и окажутся эффективными. Но это же не повод избегать добавления в язык больше возможностей для реализации альтернативных способов обработки ошибок, которые могут в некоторых случаях оказаться более эффективными?