__try
/ __except
- это a try
/ catch
, для исключения другого типа.Вы можете отлавливать аппаратные исключения, такие как нарушение с плавающей запятой, неправильная ссылка на указатель и т. Д., А не исключения C ++.Это называется структурированной обработкой исключений, или SEH, и у MSDN немало информации, если вы знаете, где искать.
В этом случае они используют ее для обнаружения неверных инструкций.Здесь они пытаются выполнить инструкции, которые не поддерживает x86, и виртуальные машины используют их.Если вы работаете на реальном процессоре, вы получите недопустимое исключение для инструкции, а если вы работаете на виртуальной машине, вы просто поговорили с ним.