oracle异常如何处理,ORACLE异常处理总结
1:預定義異常???????用于處理常見的Oracle錯誤
2:非預定義異常????用于處理預定義異常所不能處理的Oracle錯誤
3:自定義異常???????用于處理于Oracle錯誤無關的其他情況
異常處理部分是以關鍵字EXCEPTION開始的,語法如下:
EXCEPTION
WHENexception_NameTHEN?--exception_Name為異常的名字
statement1;
WHENOTHERSTHEN
statement1;
異常處理部分從關鍵字EXCEPTION開始,在異常處理部分使用WHEN字句捕捉各種異常,如果有其他未預定義到的異常,使用WHENOTHERSTHEN字句進行捕捉和處理。
1、處理預定義異常,這是系統預定的21種類型
錯誤代碼是負整數,如-51
Access_info_null(ora-06530)
當訪問沒有初始化的對象時觸發。
Case_not_found(ora-06592)
case過程中when后沒有包含必要的條件分支并且沒有else子句,則會觸發本異常。
Collection_is_null(06531)
訪問未初始化的集合元素(嵌套表或者varray)。
Cursor_already_open(ora-06511)
重新打開已經打開的游標。
Dup_val_on_index(ora-00001)
當中唯一索引所對應的列上鍵入重復值時。
Invalid_cursor(ora-01001)
試圖在不合法的游標上執行操作時,譬如沒打開游標就提取內容
Invalid_number(ora-01722)
當試圖將非法的字符串轉換為數字類型時。
No_data_found(ora-01403)
執行select into未返回行,或者引用了索引表未初始化的元素時。
Too_many_rows(ora-01422)
執行select into返回超過一行數據時。
Zero_divide(ora-01476)
0作為被除數時。
Subscript_beyond_count(ora-06533)
使用嵌套表或者varray集合時,如果引用下標超過last。
Subscript_outside_limit(ora-06532)
使用嵌套表或varray集合時,如果引用下標小于first。
Value_error(ora-06502)
在執行賦值操作時,如果變量長度不足以容納實際數據。
Login_denied(ora-01017)
連接數據庫時提供了不正確的用戶名或口令。
Not_logged_on(ora-01012)
在程序沒有連接到oracle數據庫時執行plsql代碼則會觸發。
Program_error(ora-06501)
plsql內部問題。
Rowtype_mismatch(ora-06504)
執行賦值操作時,如果宿主游標變量和PLSQL游標變量返回類型不兼容時。
Self_is_null(ora-30625)
使用對象類型時,如果在null實例上調用成員方法。
Storage_
總結
以上是生活随笔為你收集整理的oracle异常如何处理,ORACLE异常处理总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎样删除oracle中的用户,Oracl
- 下一篇: c语言编程怎么自学网,c语言函数