Здравствуйте, smeeld, Вы писали:
S>Что? throw в windows переключает в ядро? Зачем? S>Hardware exceptions-ы предназначены для контроля S>фундаметнальных ошибок исполнения инструкций, и для S>аппаратной поддержки фундаментального функционала ОС. S>Если же в юзерспайсе Вася решил откатится вверх по стеку, S>зачем для этого в ядро нырять-то?
Исключения C++ могут быть реализованы очень разными способами. Это и sjlj и dward и seh. А ещё есть исключения самой винды (которые могут быть в том числе и аппаратными), про которые и писал Павел. Так вот в исключениях винды используется механизм seh и при соответствующей поддержке компилятора эти исключения можно так же перехватывать через обычный C++ catch.