sexta-feira, 6 de julho de 2012

Tratando excessões no Oracle via código de erro

A solução é declarar uma exception e inicializá-la com o tipo:



begin
  DECLARE  test_exce EXCEPTION;
   PRAGMA EXCEPTION_INIT(test_exce, -20002);
  begin
    raise_application_error(-20002, ':)');
  exception when test_exce
    THEN
    BEGIN
      NULL;
    END;
  end;
end;


Bem mais elegante do que capturar todas (com o OTHERS) e testar o código do erro (SQLCODE). ;)

Fonte: http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/errors.htm#i1863

Nenhum comentário: