異常處理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