История изменений
Исправление bonta, (текущая версия) :
1. Сделать класс особого исключения.
2. В случаях когда вам нужно принудительно избежать «раскрутку» 100500 объектов вызывать кидать именно объект данного класса исключения.
3. В этом специальном классе исключении вызвать принудительное завершение процесса. Не помню уже подробности но когда-то я делал подобный класс исключения, он имел реализацию под winApi и posix, и для каждой из них вызывал нативную ф-ии завершения процесса или потока, не помню увы детали. Возможно хватит и вызова exit https://stackoverflow.com/questions/7054685/are-destructors-run-when-calling-....
Вообще исключения довольно быстро работающая штука, если написаны как легкие классы, без работы с динамикой. Более того можно через макросы и шаблоны сделать очень классные классы исключений, которые смогут в себя аккумулировать достаточно много информации - текстовое описание, место возникновения (файл, класс, сторока) - и все это будет работать быстро. Но придётся правда обоснавать перед любителями «не платить за то что не используем» создание статического буфера для хранения данных для исключения которрое возмозно создастся а возможно нет :)
Исходная версия bonta, :
1. Сделать класс особого исключения. 2. В случаях когда вам нужно принудительно избежать «раскрутку» 100500 объектов вызывать кидать именно объект данного класса исключения. 3. В этом специальном классе исключении вызвать принудительное завершение процесса. Не помню уже подробности но когда-то я делал подобный класс исключения, он имел реализацию под winApi и posix, и для каждой из них вызывал нативную ф-ии завершения процесса или потока, не помню увы детали. Возможно хватит и вызова exit https://stackoverflow.com/questions/7054685/are-destructors-run-when-calling-....
Вообще исключения довольно быстро работающая штука, если написаны как легкие классы, без работы с динамикой. Более того можно через макросы и шаблоны сделать очень классные классы исключений, которые смогут в себя аккумулировать достаточно много информации - текстовое описание, место возникновения (файл, класс, сторока) - и все это будет работать быстро. Но придётся правда обоснавать перед любителями «не платить за то что не используем» создание статического буфера для хранения данных для исключения которрое возмозно создастся а возможно нет :)