Oracle 異常處理

2021-08-25 20:11:01 字數 929 閱讀 7516

oracle

異常處理

異常是oracle資料庫中的pl/sql **執行期間出現的錯誤。無論任何時候,當pl/sql引擎執行**時,都可能會遇到異常。當產生異常時,pl/sql會將程式控制轉到程式塊的異常處理部分。

如果一場沒有被處理,那麼異常就會傳播,或者發往程式的呼叫者。如果使用者建立的程式塊沒有異常處理部分那麼任何異常都會傳送到sql*plus中。而sql*plus處理異常的方式就是在螢幕上顯示異常資訊。

oracle中有三中異常:

n預定義異常

oracle為使用者提供了大量的在pl/sql中使用的預定義異常,以檢查使用者**的失敗的一般原因。它們都定義oracle的核心pl/sql庫中,使用者可以在自己的pl/sql異常處理部分使用名稱對其進行標識。對這種異常的處理,無須在程式中定義,由oracle自動將其引發。

n非預定義異常

就是其他標準的oracle錯誤。對這種異常情況的處理,需要使用者在程式中定義,然後有oracle自動將其引發。

n自定義異常

入股程式設計人員認為某種情況違反了業務邏輯,則設計人員可明確定義並引發異常。

異常的傳播:

在程式塊的可執行部分引發的乙個錯誤將處理立即轉到exception部分。搜尋乙個匹配的異常處理程式。如果沒有找到匹配的異常處理程式,那麼這個錯誤將被傳播到應用程式環境中(sql/plu)這就是異常的傳播。異常傳播可以確保或者讓pl/sql處理錯誤,或者將錯誤通知使用者。

對於巢狀的子查詢的程式塊而言,能在子巢狀中處理異常,將傳播到父程式塊中進行處理異常。這種傳播一直持續到適當的異常處理程式獲取了異常,或者執行**停止處理,將錯誤傳給pl/sql的主環境為止。

注:在巢狀的子查詢中沒有找到異常處理時,會向外丟擲異常,但是如果巢狀子查詢中寫了處理異常的資訊時,則會在子查詢中丟擲異常。

ORACLE 異常處理

一 開發pl sql程式時,需要考慮到程式執行時可能出現的各種異常,當異常出現時,或是中斷程式執行,或是使程式從錯誤中恢復,從而繼續執行。常用的異常型別有 no data found 沒有發現資料 too many rows select into 語句查詢結果有多個資料行 others 可以捕捉所...

Oracle 異常處理

1 什麼是異常 在pl sql 中的乙個警告或錯誤的情形都可被稱為異常。包括編譯時錯誤 pls 和執行時錯誤 ora 乙個異常通常包含乙個錯誤 和錯誤文字,分別指示異常的編號和具體錯誤資訊。異常情況處理 exception 是用來處理正常執行過程中未預料的事件,程式塊的異常處理預定義的錯誤和自定義錯...

Oracle 異常處理

異常處理 處理程式不可意料的操作,防止程式崩潰,起到友好提示 語法 exception when 異常型別 then 異常處理 異常型別 處理相關的異常 others 處理所有的異常 no data found 沒有找到資料 too many rows 返回資料行數過多自定義異常 實行彈窗的方式提示...