2012年7月22日日曜日

http://wisdom.sakura.ne.jp/programming/cpp/cpp35.html
のプログラムより、(一部改編)
=============================
#include "stdafx.h"
#include <iostream>
using namespace std;
using namespace System;

int main() {
try {
throw "Exception : Kitty on your lap\n";
cout << "Di Gi Gharat";
}
catch (int e) { cout << e; }
cout << "Kitty on your lap";

return 0;
}
=============================
のように、例外処理を受け取るcatchが存在しないと、

'System.Runtime.InteropServices.SEHException'のハンドルされていない例外がTEST.exeで発生しました。
追加情報:外部コンポーネントが例外をスローしました。

となる。
つまりちゃんと
=============================
#include "stdafx.h"
#include <iostream>
using namespace std;
using namespace System;

int main() {
try {
throw "Exception : Kitty on your lap\n";
cout << "Di Gi Gharat";
}
catch (int e) { cout << e; }
catch(char* ea){
         cout<<ea;
}
cout << "Kitty on your lap";

return 0;
}
=============================
とちゃんと例外処理を書いておけばいい。

0 件のコメント:

コメントを投稿