다음을 통해 공유


컴파일러 오류 C2749

'type': /clr:safe를 사용하여 관리되는 클래스에만 핸들을 throw하거나 catch할 수 있습니다.

/clr:safe를 사용하는 경우 참조 형식만 throw하거나 catch할 수 있습니다.

자세한 내용은 /clr(공용 언어 런타임 컴파일)을 참조하세요.

예시

다음 샘플에서는 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 ^){}
}