Автор: cheops (10.01.2012 в 14:38)
Дело в том, что обычный try - это классические исключения C++, можете использовать их для создания переносимого кода. Ключевое же слово __try относится к исключениям Windows API, они вообще говоря отличаются от исключений C++, они даже появились раньше, чем стандарт C++. Вообще использование символов подчеркивания для системных вызовов, ключевых слов и т.п. довольно характерный прием, причем не только для Windows, в UNIX это дело тоже очень любят и уважают.
Это просто разные исключения, одно для исключений C++, другое для исключений Windows, они отличаются друг от друга методом обработки, правда, рядом ухищрений (при помощи _set_se_translator()) их можно подружить и использовать везде try. Однако, от _set_se_translator() и предопределенных исключений Windows API ваш код переносимее не станет. Все-равно участки с использованием Windows API придется переписывать.