Sim. Você só precisa usar o
RAISE_APPLICATION_ERROR
função. Se você também quiser nomear sua exceção, precisará usar o EXCEPTION_INIT
pragma para associar o número do erro à exceção nomeada. Algo como SQL> ed
Wrote file afiedt.buf
1 declare
2 ex_custom EXCEPTION;
3 PRAGMA EXCEPTION_INIT( ex_custom, -20001 );
4 begin
5 raise_application_error( -20001, 'This is a custom error' );
6 exception
7 when ex_custom
8 then
9 dbms_output.put_line( sqlerrm );
10* end;
SQL> /
ORA-20001: This is a custom error
PL/SQL procedure successfully completed.