Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle PL/SQL - Gerar exceção definida pelo usuário com SQLERRM personalizado


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.