tecnologia | consultoria | banco de dados

Oracle - Tratamento de erros e exceções

Irei mostrar nesta publicação duas formas de tratar erros na aplicação ou forçar exceções. Para isso será utilizando a procedure RAISE_APPLICATION_ERROR ou a cláusula RAISE.

Para utilizar a procedure RAISE_APPLICATION_ERROR é necessário informar dois parâmetros. O primeiro parâmetro é um número qualquer entre -20,000 e -20,999. O segundo parâmetro é a mensagem a ser mostrada quando a procedure for executada.

Para utilizar a cláusula RAISE é necessário declarar uma variável do tipo EXCEPTION, adicionar os tratamentos EXCEPTION no final do bloco e acionar a cláusula RAISE para acionar o erro desejada.

Para habilitar a o OUTPUT em alguns softwares como, por exemplo, SQL Plus e Oracle SQL Developer é necessário adicionar os comandos SET SERVEROUTPUT ON antes do bloco (BEGIN / END).

Segue abaixo exemplos de utilização.

--EXEMPLO RAISE_APPLICATION_ERROR
DECLARE
V_NUMERO NUMBER := 99;
BEGIN
IF (V_NUMERO >= 99) THEN
RAISE_APPLICATION_ERROR (-20100, 'LIMITE MÁXIMO ATINGIDO! INFORMAR UM NÚMERO INFERIOR A 99!');
END IF;
END;

--EXEMPLO EXCEPTION
DECLARE
V_NUMERO NUMBER := 99;
EXC_LIMITE EXCEPTION;
BEGIN
IF (V_NUMERO >= 99) THEN
RAISE EXC_LIMITE;
END IF;
EXCEPTION
WHEN EXC_LIMITE THEN
DBMS_OUTPUT.PUT_LINE('LIMITE MÁXIMO ATINGIDO! INFORMAR UM NÚMERO INFERIOR A 99!');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('ERRO NA EXECUÇÃO!');
END;
Data publicação: 21:30 15/06/2017
Perfil
Olá jovem Padawan, seja bem vindo! Este site foi criado com o intuito de compartilhar um pouco de conhecimento de Tecnologia da Informação e Business Intelligence.

Linkedin  Youtube

"Meus filhos terão computadores, sim, mas antes terão livros. Sem livros, sem leitura, os nossos filhos serão incapazes de escrever - inclusive a sua própria história." (Bill Gates)


Leandro Sacramento, Todos os direitos reservados - 2012 - 2020