C 程式設計入門16 異常處理

2021-08-09 11:35:54 字數 1976 閱讀 7640

try:乙個 try 塊標識了乙個將被啟用的特定的異常的**塊。後跟乙個或多個 catch 塊。 

catch:程式通過異常處理程式捕獲異常。catch 關鍵字表示異常的捕獲。 

finally:finally 塊用於執行給定的語句,不管異常是否被丟擲都會執行。例如,如果您開啟乙個檔案,不管是否出現異常檔案都要被關閉。 

throw:當問題出現時,程式丟擲乙個異常。使用 throw 關鍵字來完成。

try

catch( exceptionname e1 )

catch( exceptionname e2 )

catch( exceptionname en )

finally

以上的catch捕獲異常是可以並列存在的,但是需要注意的是,處於上面的異常和下面的最好沒有什麼關係,或者處於上面的異常是下面的乙個子類。否則編譯器會報錯。

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace 異常

catch (overflowexception e)//輸入的資料大於int型別的最大值的時候

catch(formatexception e) //輸入的字串格式錯誤的時候捕捉

catch (exception e) //捕捉咩有考慮到的其他異常

console.writeline("這個數字是:",num);}}

}

【注意】 

異常處理的核心是try和catch。這些關鍵字共同起作用,不能編寫沒有try的catch。乙個try可以關聯多個catch子句。 

a、 不帶引數的catch和catch(exception)是有區別的 

catch(exception)可以捕獲所有以exception類派生的異常,而不帶引數的catch可以捕獲所有異常,不管異常是不是從exception類派生。 

b、與catch配套的catch和finally是可選的,但二者必選其一。乙個try可對應多個catch,但乙個try只能對應乙個finally。 

c、不論try中是否發生異常,finally中的語句一定會被執行。

1.捕獲例外的最後一步是通過finally語句為例外處理提供乙個統一的出口,使得在控制流程轉到程式的其他部分以前,能夠對程式的狀態作統一的管理。 

2.無論try所指定的程式塊中是否丟擲例外,也無論catch語句的例外型別是否與所拋棄的例外的型別一致,finally所指定的**都要被執行,它提供了統一的出口。(finally語句與switch中的default語句是不同的!) 

3.通常在finally語句中可以進行資源的清除工作,如關閉開啟的檔案、刪除臨時檔案等。

1.當try和catch中有return時,finally仍然會執行; 

2.finally是在return後面的表示式運算後執行的(此時並沒有返回運算後的值,而是先把要返回的值儲存起來,不管finally中的**如何修改,返回的值都不會改變,仍然是之前儲存的值),所以函式返回值是在finally執行前確定的; 

3.finally中不可以有return,否則語法錯誤 

參考**如下

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace 異常處理的執行順序

static

int test()

catch (exception)

finally

return number;}}

}

C 異常處理入門

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

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

2.異常處理 3.總結 在程式設計和執行中,不可避免的會出現各種各樣的錯誤,為了減少設計程式中的錯誤,一般採用兩種解決方案 1 在程式設計階段,使用除錯程式找出程式中的錯誤並改正。2 在程式中加入異常處理的語句,從而使得程式具有容錯功能。程式的錯誤分為以下3種 1 語法錯誤。如果使用了錯誤的語法 函...

入門系列 異常處理

abp提供了用於處理web應用程式異常的標準模型.當滿足下面任意乙個條件時,abpexceptionfilter會處理此異常 如果異常被處理過,則會自動記錄日誌並將格式化的json訊息返回給客戶端.每個錯誤訊息都是remoteserviceerrorresponse類的例項.最簡單的錯誤json只有...