为什么自定义了异常系统依然报错出相同的错误

create or replace procedure reset_minsal(p_jobid jobs.job_id%type,
p_minsal jobs.min_salary%type) is
max_sal jobs.min_salary%type;
no_jobid exception;
error_minsal exception;
begin
select s.max_salary into max_sal;
from plsql_jobs s where s.job_id = p_jobid;
if sql%notfound then
raise no_jobid;
end if;
if p_minsal > max_sal or p_minsal < 0 then
raise error_minsal;
else
update plsql_jobs j
set j.min_salary = p_minsal
where j.job_id = p_jobid;
commit;
end if;
exception
when no_jobid then
dbms_output.put_line('没有找到该工作,请重新输入');
when error_minsal then
dbms_output.put_line('最小工资超出范围,请重新输入或先提高最大工资');
end reset_minsal;

https://segmentfault.com/q/1010000004972296