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只有...