Про Аду еще не забыли?
Известно, что исключения в C++ с одной стороны упрощают обработку нештатных ситуаций, а с другой стороны делают программный код часто сложнее, потому что такой код уже должен поддерживать «гарантии безопасности», что составляет определенную сложность для языка без сборки мусора (GC). Очень много нюансов.
Исключения в Аде появились раньше, чем в C++. Они были уже в стандарте 83-го года. Это была одна из продающихся фишек первого стандарта языка. Как поддержка исключений соотносится с безопасной средой исполнения кода? В Аде есть элементы GC? Там что-то было про подчищение памяти еще в стандарте 83-го года, но я уже давно все забыл.
Гарантируется ли в Аде безопасность на базовом уровне? Не может ли брошенное исключение привести к утечке или какому другому дефекту в памяти? Если нет, то как это соотносится со скоростью исполнения кода?