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時就會引發錯誤,然後程式就自動停止了。有無錯誤就停止,這到沒什麼,關鍵是這種使用者體驗不是很好,你想一下,當程式執行好好的時候,遇到錯誤,就彈出這麼乙個視窗,然後程式就終止...