Tratamento de erros
A PL/SQL implementa tratamento de erro por meio de exceções e handlers de exceção. As exceções podem estar associadas com erros do Oracle ou com os próprios erros definidos pelo usuário. Neste capítulo, discutiremos a sintaxe para exceções e handlers de exceção, como as exceções são levantadas e tratadas, e as regras de propagação de exceção. O capitulo termina com as diretrizes sobre a utilização das exceções.
O que é uma exceção
A PL/SQL está baseada na linguagem Ada. Um dos recursos Ada, que também foi incorporado na PL/SQL, é o mecanismo de exceção. Utilizando as exceções e handlers de exceção, você pode tornar seus programas PL/SQL mais poderosos e capazes de lidar durante a execução tanto com erros esperados como inesperados. As exceções PL/SQL também são semelhantes a exceções em Java. Por exemplo, exceções em Java são lançadas e capturadas da mesma maneira como na PL/SQL. Entretanto, diferente do que ocorre em Java, as exceções PL/SQL não são objetos e não têm nenhum método para defini-las.
As exceções são projetadas para tratamento de erros em tempo de execução, em vez te tratamento de erros na compilação. Os erros que ocorrem durante a fase de compilação são detectados pelo mecanismo PL/SQL e informados ao usuário. O programa não pode tratar esses erros, pelo fato de o programa ainda não ter sido executado. Por exemplo, o seguinte bloco levantará o erro de compilação:
PLS-201: Identifier ‘SSTUDENTS’ must be declared
DECLARE v_NumStudents NUMBER;
BEGIN
SELECT count(*) INTO v_NumStudents FROM students;
END;
Tipos de erros PL/SQL
Tipo de Erro
Informado pelo
Como é tratado
Na compilação
Compilador PL/SQL
Interativamente – o compilador informa os erros e você tem de corrigi-los.
Em tempo de execução
Mecanismo de Execução da PL/SQL
Programaticamente - as exceções são levantadas e capturadas pelos handlers de exceção.
As exceções e handlers de exceção são o método pelo qual o programa em