Delphi VJ VB VC 討論 聯繫 首頁
MS VC 參考文件

 運算子
 輸出與輸入
 流程控制
 陣列
 指標應用
 建立函數
 參數傳遞
 動態配置記憶體
 類別物件
 建構子與解建構子
 this 指標
 例外處理
 資料流
 過載運算子
 fsteram 類別

作品介紹

免費下載

廠商軟體

try例外處理

例外處理:try catch

格式:
try
{//檢驗區塊
throw(錯誤類型) //如果發生錯誤利用throw敘述傳出錯誤
}
catch(錯誤類型1)
{//錯誤處理區塊}
catch(錯誤類型2)
{//錯誤處理區塊}
……


try catch範例

//小誌的例外處理範例
#include <iostream>
using namespace std;
void main() //主程式開始
{
int x, y;
cout << "請輸入兩組數字來做除法...(x % y)\n";
cin >> x >> y;

try
{ //錯誤嘗試區塊
if(y == 0) //檢查除數是否為零,是則丟出例外
throw("分母不能為零!\n");
cout << "餘數為: " << x % y << " .\n";
//求出餘數
}
catch (char * s)
{cerr << s;}
//錯誤處理區塊
} //主程式結束

範例

//小誌的函數的例外處理範例
#include <iostream>
using namespace std;
int if_modulus (int, int); //求餘數的函數
int try_modulus(int, int);

void main() //主程式開始
{
int x, y, modulus;
cout << "請輸入兩個整數來相除求餘數...\n";
cin >> x >> y;
modulus = if_modulus(x, y);
cout << "標準的 if 判斷法...\n";

if(modulus == -1) //檢查if_modulus的回傳值
cerr << "分母不能為零\n";
else
cout << "餘數為: " << modulus << " .\n";

cout << "使用例外處理...\n";

try{ //錯誤偵測區塊
cout << "餘數為: " << try_modulus(x, y); //呼叫try_modulus
cout << " .\n";
}

catch (char * s)
{cerr << s;}
//錯誤處理區塊
} //主程式結束

int if_modulus(int x, int y)
{
if (y == 0) //如果除數為零,回傳值為 -1
return -1;
return x % y;
}

int try_modulus(int x, int y)
{
if (y == 0)
throw("分母(y)不得為零!\n"); //如果除數為零,丟出一個字串
return x % y;
}

 



本網頁由
昱得資訊工作室製作(C) Copyright Valor-Studio since in 1993

 

本網站全部內容係屬【昱得資訊工作室】版權所有,轉載必究,
非經正式書面同意,不得將全部或部分內容,以任何方式轉載於其他網站或用於任何商業行為