异常处理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;