1.及時處理:發現異常隨即處理並恢復程式。
2.丟擲異常:捕獲異常後,重新封裝異常資訊或直接拋給呼叫者
在可能發生異常的地方新增異常處理方法
屬性名稱
說明source
此屬性表示導致異常發生的應用程式或物件的名稱
message
提供引起異常的詳細資訊
stacktrace
此屬性提供在堆疊上所呼叫方法的詳細資訊,並首先顯示最近呼叫的方法
下面以一次資料庫的刪除為例子。
前提條件:該條刪除語句刪除的記錄存在外來鍵約束
這裡我是三層結構先貼出來,未做處理異常的**
底層
class sqlhelper
}
service層
class studentservice
}
class
program
}
上面的**執行,會報以下錯誤
下面我們進行異常的處理
從底層開始。底層將第一次捕獲的異常傳遞給上級呼叫者進一步詳細處理,一般在底層的丟擲異常處會加日誌的儲存
public
static
intupdate(string sql)
catch(exception e)
finally
}
呼叫者怎麼進一步處理異常呢?我們來看下面的處理,e.number==547 ,547表示外來鍵約束異常
public
intdeletestudentbyid(string studentid)
catch(sqlexception e)
catch (exception e)
}
1.多路捕獲異常不是必須的,只有需要的時候才使用下來看前端的處理2.可以新增多個catch塊
3. 一定要把exception類放在最後
class
program
else
}catch(exception e)
console.readkey();}}
Java 異常處理的捕獲形式
package day11 異常處理的捕捉形式 這是可以對異常進行針對性處理的方式。具體格式是 try catch 異常類 變數 該變數用於接收發生的異常物件 finally 異常處理的原則 1 函式內容如果丟擲需要檢測的異常,那麼函式上必須要宣告。否則必須在函式內用trycatch捕捉,否則編譯失...
異常處理的指導原則
只捕捉你能處理的異常 通常,一些型別的異常可以處理,但是另一些型別的異常不能處理。例如,試圖開啟乙個正在使用的檔案來進行獨佔式的讀 寫訪問,會引發乙個system.io.ioexception,因為檔案已經在使用了。通過捕捉這種型別的異常,可以向使用者報告該檔案正在使用,並允許使用者選擇取消或者重試...
Flex異常處理原則
flex異常處理原則 1.有一條清楚的訊息表明已經發生了乙個錯誤,不能簡單地try.catch乙個異常,而不加以處理。2.有乙個唯一的錯誤號,他可以據此訪問可方便獲得的客戶支援系統 3.問題快速得到解決,並且可以確信他的請求已經得到處理,或者將在設定的時間段內得到處理 幾條建議 如果無法處理某個異常...