declare v_name varchar2(30); begin begin select ename into v_name from emp where empno = 1000; dbms_output.put_line('executa ?'); exception when no_data_found then dbms_output.put_line('Erro tratado pelo bloco interno'); end; dbms_output.put_line('continua executando... '); exception when no_data_found then dbms_output.put_line('Erro tratado pelo bloco externo'); when others then dbms_output.put_line('Erro tratado com OTHERS ' || SQLERRM); end;
DECLARE E_RRO EXCEPTION ; PRAGMA EXCEPTION_INIT(E_RRO, -12899); -- Erro Associado ao código de erro : -12899 BEGIN INSERT INTO DEPT VALUES ( 99, 'ASDFGQWERTQWERTYQWERTYQWERTYWERTYQWERTYUI', '2'); EXCEPTION WHEN E_RRO THEN RAISE_APPLICATION_ERROR(-20001 , 'STRING MUITO GRANDE P/ DNAME'); WHEN OTHERS THEN RAISE_APPLICATION_ERROR(-20500 , 'ERRO GENERICO'); END;
DECLARE E_RRO EXCEPTION ;-- DECLARA EXCECAO BEGIN RAISE E_RRO; -- GERA A EXCECAO EXCEPTION WHEN E_RRO THEN -- TRATA A EXCECAO RAISE_APPLICATION_ERROR(-20001 , 'ERRO DEFINIDO PELO PROGRAMADOR'); END;