-1

extern "C"プログラム内の特定の関数(たとえばRaiseException)がSEH例外を発生させる唯一の関数であり、それらをC ++例外に変換したい場合/EHa、その関数を「選択的に有効にする」方法はありますか。例外は、通常は?によって引き起こされるCStructured_Exceptionように、プログラムの残りの部分を肥大化させたり遅くしたりせずに変換されます。/EHa

4

1 に答える 1

1

それを行うためのコンパイラオプションは明らかにありません。多分:

void RaiseException() {
   __try {
      // do something that might throw here...
   }

   __except(EXCEPTION_EXECUTE_HANDLER) {   
      throw std::exception("structured exception");
   }
}
于 2012-08-13T23:49:52.887 に答える