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;
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;