私は予期しない例外を処理しようとしていますが、動作させることはできません。 出力:int型予期せぬことが起こった
私はそれをしようとすると発生しませんどのキャッチ
呼ば
予期しない彼らは、出力があるべきと言うC++ Reference
// set_unexpected example
#include <iostream>
#include <exception>
using namespace std;
void myunexpected() {
cerr << "unexpected called\n";
throw 0; // throws int (in exception-specification)
}
void myfunction() throw (int) {
throw 'x'; // throws char (not in exception-specification)
}
int main (void) {
set_unexpected (myunexpected);
try {
myfunction();
}
catch (int) { cerr << "caught int\n"; }
catch (...) { cerr << "caught other exception (non-compliant compiler?)\n"; }
return 0;
}
:からこれは一例です。私の出力は次のようになります。
は、他の例外キャッチ私はVS2010のSP1を使用してい
は
unexpected
の
「予期せぬことが起こった。はい、例外はそうです。 –
'g ++'では、これは正しく動作します。おそらくそれはVS2010の特色ですか? – templatetypedef
Bjarne自身が例外仕様が壊れていると言っています...それらを使用しようとしているか、または良いコンパイラサポートを期待していません。 –