天天看點

異常

異常處理1

declare
  num1 number := 1;
  num2 number := 0;
  my_exce exception;   --定義錯誤類型
begin
  if num2 = 0 then
    raise my_exce;     --自定義錯誤
  end if;
  num1 := num1 / num2;
exception
  when my_exce then    --自定義錯誤處理
    dbms_output.put_line(sqlcode || '===' || sqlerrm);
    dbms_output.put_line('自定義 錯誤');
  when others then
    dbms_output.put_line(sqlcode || '===' || sqlerrm);
    dbms_output.put_line('除零錯誤');
end;      

異常處理2

declare
  num1 number := 1;
  num2 number := 0;
begin
  if num2 = 0 then
    raise_application_error(-20991, '部門代碼為空'); --自定義異常錯誤消息
    --RAISE_APPLICATION_ERROR(error_number,error_message,[keep_errors] );--keep_errors 為可選
    --error_number 是從 –20,000 到 –20,999 之間的參數
    --error_message 是相應的提示資訊(< 2048 位元組)
  end if;
  num1 := num1 / num2;
exception
  when others then
    dbms_output.put_line(sqlcode || '===' || sqlerrm);
    dbms_output.put_line('除零錯誤');
end;      
  • 學習本是一個不斷抄襲、模仿、練習、創新的過程。
  • 雖然,園中已有本人無法超越的同主題博文,為什麼還是要寫。
  • 對于自己,博文隻是總結。在總結的過程發現問題,解決問題。
  • 對于他人,在此過程如果還能附帶幫助他人,那就再好不過了。
  • 由于部落客能力有限,文中可能存在描述不正确,歡迎指正、補充!
  • 感謝您的閱讀。如果文章對您有用,那麼請輕輕點個贊,以資鼓勵。
  • 工控物聯Q群:995475200
sql