Oracle PL/SQL異常處理方法解析
阿新 • • 發佈:2020-11-24
Oracle資料庫中的異常:沒有異常的轉移,因為沒有受檢異常和非受檢異常得區分。
1.異常的產生:
2.異常的處理:
declare
--變數定義,初始化賦值。
begin
--變數的賦值,函式呼叫,if,while等。
exception
--異常處理程式碼
when others then 異常處理語句。
end;
3.異常的丟擲:raise
4.多異常處理:Java的多異常是通過資料型別區分,Oracle資料庫的多異常是通過異常編號區分。
區別不同的異常是實現多異常處理前提。
declare
verror exception;--定義異常變數
PRAGMA EXCEPTION_INIT(verror,-111111);--設定異常變數的編號
begin
--變數的賦值,函式呼叫,if,while等。
exception
- when verror then 異常處理語句。--所丟擲的異常變數的編號是否和設定好的異常變數的編號一致。
- when others then 異常處理語句。--當所丟擲的異常編號在exception語句塊中不存在時,執行該語句(寫在最後)。
end;
5.自定義異常:Java中通過定義一個新的異常類實現的。Oracle中通過異常編號實現的。
eclare n number(1); v_error exception; begin dbms_output.put_line('丟擲單個異常練習--n只有1位不能儲存數字10'); n:=10; if n<=0 then raise v_error; end if; dbms_output.put_line(n); exception when others then dbms_output.put_line('數值溢位'); end; declare n number(1); v_error exception; PRAGMA EXCEPTION_INIT(v_error,-112122); begin dbms_output.put_line('丟擲多個異常練習'); n:=-1; if n<=0 then raise v_error; end if; dbms_output.put_line(n); exception when v_error then dbms_output.put_line('不能為負'); when others then dbms_output.put_line('數值溢位'); end;
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。