código muy simple, y obteniendo el error C2712, no podía entender por qué

Tengo problemas por un tiempo conerror C2712: Cannot use __try in functions that require object unwinding, después de reducir el problema, me quedé con un código muy simple, y no puedo entender por qué causa este error. Estoy usando Visual Studio en Windows.

Estoy compilando con / EHa (no uso / EHsc)

La razón por la que uso__try/__except y notry/catch es porque quiero atrapar TODOS los errores y no quiero que el programa se bloquee bajo ninguna circunstancia, incluida, por ejemplo, la división por 0, que try-catch no atrapa.

#include <string>
static struct myStruct
{
    static std::string foo() {return "abc";}
};

int main ()
{
    myStruct::foo();

    __try 
    { }
    __except (true)
    { }

    return 0;
}

salida:

error C2712: Cannot use __try in functions that require object unwinding

Respuestas a la pregunta(1)

Su respuesta a la pregunta