C 學習入門(四) 異常和異常的處理

2021-10-10 10:24:33 字數 2203 閱讀 4682

2. 異常處理

3. 總結

在程式設計和執行中,不可避免的會出現各種各樣的錯誤,為了減少設計程式中的錯誤,一般採用兩種解決方案:

(1)在程式設計階段,使用除錯程式找出程式中的錯誤並改正。

(2)在程式中加入異常處理的語句,從而使得程式具有容錯功能。

程式的錯誤分為以下3種:

(1)語法錯誤。如果使用了錯誤的語法、函式、類和結構,在編譯時程式就無法生成執行**

(2)執行時錯誤。執行時發生的錯誤,稱為異常。它分為:不可預料的邏輯錯誤和可以預料的邏輯錯誤。

(3)邏輯錯誤。邏輯錯誤是設計者在思考問題過程中造成的錯誤。

異常就是程式執行期間發生的錯誤或者意外。

例如:

int array = ;

console.writeline(array[5]);

陣列下表的越界,array[5]已經超過了陣列的範圍,呼叫時會出現異常。而實際上程式是編譯通過的,但是卻在執行時出現錯誤,這就是異常。

如果該程式沒有異常處理程式,則程式將停止執行,並顯示一條錯誤資訊,因此對程式中的異常處理是非常重要的。

一般情況下,在乙個比較完整的程式中,要盡量考慮可能出現的各種異常,這樣當發生異常時,控制流將立即跳轉到關聯的異常處理程式(如果存在)。 如果不進行異常處理,即不對錯誤做出響應,程式的健壯性就會大打折扣,甚至無法保證正常執行,所以必須要進行異常處理。

異常處理是為了防止未知錯誤而採取的措施,在異常發生的時候,轉到乙個位置嘗試去處理錯誤,減少錯誤帶來的損失,並且能夠使程式繼續執行下去。

c#的常用異常類均包含在system命名空間中。

在c#中用於異常處理的語句有:

(1)try catch語句

(2)try catch finally語句

(3)throw語句

**:

string str =

"2023年"

;try

catch

(exception e)

//發生異常後處理程式段

執行結果:

當try塊中的語句在執行過程**現異常時,公共語言執行時(clr)查詢處理此異常的catch語句,然後跳轉到相應的catch塊中。

**:

string str =

"2023年"

;try

catch

(exception e)

finally

執行結果:

加入finally,則不論是否發生異常,都會執行finally中的語句。

**:

static

int[

] array =

;static

void

main

(string

args)

catch

(exception e)

}static

intgetarray

(int index)

static

intdiv

(int a,

int b)

執行結果:

throw 表示式;——丟擲異常,但是表示式system.exception或從system.exception派生出的類的例項。

在編寫程式的過程中,不可避免的出現各種錯誤,語法的錯誤通過編譯器可以輕鬆地解決。

邏輯的錯誤,看個人的思維,有時候會卡很久,需要花時間來解決。

而執行時的錯誤,也就是異常,需要我們通過異常處理來解決,這樣才能夠使**能加流暢,而且避免這些異常所帶來的問題。

異常和異常處理

程式執行遇到兩種錯誤 1.error 錯誤 致命錯誤,無法恢復執行 2.exception 異常 通過修正,繼續執行。異常類常用方法 1.tostring 返回描述異常物件資訊字串 2.getmessage 返回描述物件詳細資訊 處理方法 1.try catch finally 1 try中包涵可能...

c 入門學習 異常

1.異常 1.1 異常的丟擲 異常丟擲使用throw關鍵字,使用語法為 throw 異常 異常是個物件,如int i 1 throw i等。也可以自定義乙個異常類,在必要的時候丟擲該異常類的例項 class myexception throw myexception 這裡不能使用throw myex...

C 異常處理入門

先看如下 void test02 當你在main 中呼叫test02 時,很明顯會出現如下錯誤 因為除數不能為0,所以執行a b時就會引發錯誤,然後程式就自動停止了。有無錯誤就停止,這到沒什麼,關鍵是這種使用者體驗不是很好,你想一下,當程式執行好好的時候,遇到錯誤,就彈出這麼乙個視窗,然後程式就終止...