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

Java - Atalhos no Eclipse

Segue abaixo algumas teclas de atalho úteis no desenvolvimento java utilizando a ferramenta Eclipse IDE for Java Developers.

CTRL + F11       => executa o código (run)
CTRL + SHIFT + O => adiciona todos os imports necessários
CTRL + SPACE BAR => mostra tela com códigos para seleção
SHIFT + ALT + Z => adiciona o bloco TRY / CATCH
CTRL + 1 => sobre erros, mostra opções de correção

Versão utilizada:
Eclipse IDE for Java Developers
Version: Neon.2 Release (4.6.2)
Data publicação: 20:32 27/01/2017

Oracle - Cláusula GOTO

No Oracle, utilizando PL/SQL, é possível avançar para uma determinada parte do código com o uso da cláusula GOTO.

Exemplo:
BEGIN
<<PARTE_1>>
DBMS_OUTPUT.PUT_LINE('EXECUTANDO PARTE 1');
GOTO PARTE_3;
<<PARTE_2>>
DBMS_OUTPUT.PUT_LINE('EXECUTANDO PARTE 2');
<<PARTE_3>>
DBMS_OUTPUT.PUT_LINE('EXECUTANDO PARTE 3');
END;

Executando o exemplo acima, teremos a seguinte exibição no OUTPUT:
   EXECUTANDO PARTE 1
EXECUTANDO PARTE 2

Data publicação: 23:21 10/01/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

"O sorriso é o símbolo do vencedor." (Masaaki Hatsumi)


Leandro Sacramento, Todos os direitos reservados - 2012 - 2020