try { //這里寫入一些代碼 int a = 11, b = 0; int x; if (b == 1) throw 1; // 拋出異常。終止以下的代碼執行 。 if (a == 1) throw 2; // 再拋出個異常。終止以下的代碼執行 。 x = a / b; // b=0. 會產生運算異常。 } catch (int i) { if (i == 1) // 由 throw 拋出的值 =1 AfxMessageBox("b=1 is error!" ); if (i == 2) // 由 throw 拋出的值 =2 AfxMessageBox( "a=1 is error!"); } catch (...) { AfxMessageBox("catched b=0"); }
就是仍然使用C++標准的try{}catch(..){},項目/屬性/C++/代碼生成/啟用C++異常 是/EHa。
或 在編譯命令行中加入 /EHa 的參數。