try
{
throw gcnew Exception("ERROR");
}
catch (Exception^ e)
{
System::Console::Write(e->Message); // "ERROR"
}
finally
{
}
Exceptionを継承して作成します。
ref class UserException : System::Exception { public: UserException(String^ message) : Exception(message) { } };
C++/CLIのコンパイルで用いる/clrオプションでは構造化例外処理が必須のため、C++の
throw 投入する変数;
の形式では、実際にはSystem.Runtime.InteropServices.SEHExceptionが投げられます。そのときHRESULTは、E_FAIL (0x80004005) です。