c#中,所有的異常都表現為類的對象,這些類繼承自system.exception。
system.exception 屬性
屬性
說明
message
描述錯誤情況的文本
source
導緻異常的應用程式或對象名
stacktrace
棧上方法調用的資訊,有助于追蹤抛出異常的方法
系統定義的常用異常
名稱
outofmemoryexception
new 操作配置設定記憶體失敗
stackoverflowexception
遞歸層次過深
nullreferenceexception
對象為空
indexoutofrange
數組越界
arithmetic
算術操作異常
dividebyzero
除以0異常
overflow
溢出
arraytypemismatch
數組類型不比對
代碼結構為:
throw語句用于将異常抛出,既可以是系統定義的異常也可以是使用者定義的。
如;
private void tosoarequest_validate(string flightno)
{
if (string.isnullorempty(flightno) ||
flightno.length < commonconstant.flight_no_min_length ||
flightno.length > commonconstant.flight_no_max_length)
{
throw new carrestfulexception(errorcode.data_invalid_fail);
}
}
try{可能發生異常的代碼}
catch(參數1){捕獲相應異常後的操作}
catch(參數2){捕獲相應異常後的操作}
finally{異常發生與否都要執行的代碼,通常為清理工作}