Sobes.tech
Middle

Como implementar um bloco de exceções em PL/SQL? Como criar uma exceção personalizada?

sobes.tech IA

Resposta da IA

No bloco de exceções PL/SQL, é utilizado para tratar erros que podem ocorrer durante a execução do código. Ele fica no final de um bloco anônimo ou procedimento/função após a secção BEGIN ... EXCEPTION ... END.

Exemplo de um bloco com tratamento de exceções:

BEGIN
  -- Código principal
  NULL; -- marcador de posição
EXCEPTION
  WHEN NO_DATA_FOUND THEN
    DBMS_OUTPUT.PUT_LINE('Dados não encontrados');
  WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('Ocorreu um erro: ' || SQLERRM);
END;

Para criar uma exceção personalizada, deve-se declarar uma variável do tipo EXCEPTION, e depois chamá-la usando o operador RAISE.

Exemplo de uma exceção personalizada:

DECLARE
  my_exception EXCEPTION; -- declaração de exceção personalizada
BEGIN
  -- Lógica qualquer
  IF some_condition THEN
    RAISE my_exception; -- lançar a exceção
  END IF;
EXCEPTION
  WHEN my_exception THEN
    DBMS_OUTPUT.PUT_LINE('Exceção personalizada tratada');
END;