Compiler Error C2749
Visual Studio 2015
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at 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 {
public:
int i;
};
int main() {
MyStruct ^x = gcnew MyStruct;
// Delete the following 4 lines to resolve.
try {
throw (1); // C2749
}
catch(int){}
// OK
try {
throw (x);
}
catch(MyStruct ^){}
}
Show: