This documentation is archived and is not being maintained.

Compiler Error C2749

'type' : can only throw or catch handle to a managed class with /clr:safe

When using /clr:safe, you can only throw or catch a reference type.

For more information, see /clr (Common Language Runtime Compilation).

The following sample generates C2749:

// C2749.cpp
// compile with: /clr:safe
ref struct MyStruct {
   int i;

int main() {
   MyStruct ^x = gcnew MyStruct;

   // Delete the following 4 lines to resolve.
   try { 
      throw (1);   // C2749

   // OK
   try {
      throw (x);
   catch(MyStruct ^){}