Оффтоп наверное, но я не могу устоять, извините.
Должен сказать, что единственный действительно хороший и всеобъемлющий механизм исключений, который я видел до сих пор, - это SEH-структурированная обработка исключений в Windows.
IT использует модель обработки исключений C ++ (которая поднимает руки, когда исключение генерируется в деструкторе автоматического объекта во время разматывания стека).
Кроме того, это действительно единообразная обработка исключений, поскольку она объединяет как программные исключения, так и сгенерированные аппаратным обеспечением.
Так что, если вам нужна обработка исключений - либо напишите для Windows, либо внедрите нечто подобное для Linux.
P.S. В отличие от многих, считается, что обработка исключений очень далеко - это больше, чем просто прерывание нормального выполнения программы с помощью jmp
.
Это также цепочка переговоров о том, кто и как обрабатывает исключение. Это (самое главное) - правильное выполнение cleanup в каждой области, работа с вложенными исключениями и т. Д.