Presentation is loading. Please wait.

Presentation is loading. Please wait.

物件導向程式設計 參考書目: 1. 洪維恩,C++ 教學手冊 第三版,旗標出版圖書公司。 2. 陳錦揮,Java 初學指引,博碩文化 3

Similar presentations


Presentation on theme: "物件導向程式設計 參考書目: 1. 洪維恩,C++ 教學手冊 第三版,旗標出版圖書公司。 2. 陳錦揮,Java 初學指引,博碩文化 3"— Presentation transcript:

1 物件導向程式設計 參考書目: 1. 洪維恩,C++ 教學手冊 第三版,旗標出版圖書公司。 2. 陳錦揮,Java 初學指引,博碩文化 3
物件導向程式設計 參考書目: 1. 洪維恩,C++ 教學手冊 第三版,旗標出版圖書公司。 2. 陳錦揮,Java 初學指引,博碩文化 3. 施威銘研究室著,最新 Java 2 程式語言 第 2 版,旗標出版社。 2.由 C++ 進入 Java 程式語言(II): C++ 之例外處理 Chih-Hung Wang

2 例外的基本觀念 (1/2) 在撰寫程式時,常見的不尋常狀況如下: 這些不尋常的狀況稱為例外(exception) 要開啟的檔案並不存在
除數為零。 在存取陣列時,陣列的註標值超過陣列容許的範圍 原本預期使用者由鍵盤輸入的是整數,但使用者輸入的卻 是英文字母 系統資源耗盡或是儲存資料的磁碟空間不足,造成程式無 法繼續儲存資料 這些不尋常的狀況稱為例外(exception)

3 例外的基本觀念 (2/2) 沒有撰寫例外的程式碼時,預設的處理機制可能會有下 列幾種方式:
直接結束程式 當機 發出警告訊息,然後正常結束執行 自行跳過發生錯誤的地方,繼續執行程式,但是後面的執行可 能沒有意義 告訴使用者例外發生的情況 在沒有例外處理的語言中,是使用if-else或switch等敘 述,來捕捉(catch)程式裡所有可能發生的錯誤

4 例外處理的程序 例外處理是由 try與catch關鍵字所組成的程式區塊 try區塊內可以撰寫要檢查的程式碼
例外發生時,程式的執行便中斷,並由throw關鍵字拋 出物件給catch區塊接收 如果在try區塊內加上捕捉例外的程式碼,則可針對不 同的例外做妥善的處理,這種處理捕捉錯誤的方式稱 為例外處理(exception handling)

5 try-catch區塊的語法 try與catch程式區塊的語法如下

6 簡單的例外範例

7 catch區塊的多載 catch() 可以多載,以捕捉所有的例外

8 捕捉任何型態的例外 下面是可以捕捉任何型態之例外 的範例

9 Practice 1 設計一個 bool is_prime(int n) 函數,可用來判斷 n 是 否為質數,若為質數,回應 true,若不是質數,回應 false。若 n < 0,則拋出 ”argument out of bound” 自處 型態的例外。 bool is_prime(int a) { int i,j=0; for(i=1;i<=a;i++) if(a%i==0) j=j+1; } if(j>3) return false; else return true;

10 Practice 2 試設計 int fact(int n) 函數,可用來計算 n 的階層。若 n < 0 則拋出 “argument out of bound” 之例外。若 fact() 的值超出整數能容許之範圍,則拋出 “number too large” 之例外。


Download ppt "物件導向程式設計 參考書目: 1. 洪維恩,C++ 教學手冊 第三版,旗標出版圖書公司。 2. 陳錦揮,Java 初學指引,博碩文化 3"

Similar presentations


Ads by Google