O que são exceções em PL/SQL?
Mecanismos para tratar erros internos de um programa, permitindo desviar o código para uma estrutura específica e exibir mensagens amigáveis em vez de erros técnicos.
Qual a estrutura básica para manipular exceções em PL/SQL?
BEGIN - EXCEPTION - END
Como especificar qual exceção tratar e qual ação tomar?
Usando a estrutura WHEN <EXCEÇÃO> THEN dentro do bloco EXCEPTION.</EXCEÇÃO>
Qual exceção ocorre ao tentar inserir um valor duplicado em uma coluna com restrição de unicidade?
DUP_VAL_ON_INDEX
O que significa WHEN DUP_VAL_ON_INDEX THEN?
Especifica que o bloco de código seguinte será executado apenas quando ocorrer a exceção DUP_VAL_ON_INDEX, que indica a tentativa de inserir um valor duplicado em uma coluna com restrição de unicidade.
Qual a função do comando dbms_output.put_line()?
Exibe uma mensagem na saída do script.
O que é a exceção ACCESS_INTO_NULL?
Ocorre quando um programa tenta atribuir valores aos atributos de um objeto não inicializado.
O que é a exceção CASE_NOT_FOUND?
Ocorre quando nenhuma das opções em um bloco CASE é selecionada e não há uma cláusula ELSE.
O que é a exceção COLLECTION_IS_NULL?
Ocorre quando um programa tenta aplicar métodos de coleção (exceto EXISTS) a uma tabela aninhada ou varray não inicializado, ou tenta atribuir valores aos elementos de uma tabela aninhada ou varray não inicializado.
O que é a exceção CURSOR_ALREADY_OPENED?
Ocorre quando um programa tenta abrir um cursor que já está aberto.
O que é a exceção INVALID_CURSOR?
Ocorre quando há uma operação de cursor ilegal.
O que é a exceção INVALID_NUMBER?
Ocorre quando a conversão de uma string de caracteres para um número falha.
O que é a exceção NO_DATA_FOUND?
Ocorre quando uma consulta SELECT de linha única não retorna nenhuma linha ou quando um programa referencia um elemento excluído em uma tabela aninhada ou um elemento não inicializado em um array associativo.
O que é a exceção PROGRAM_ERROR?
Indica que o PL/SQL tem um problema interno.
O que é a exceção ROWTYPE_MISMATCH?
Ocorre quando uma variável de cursor do host e uma variável de cursor PL/SQL envolvidas em uma instrução de atribuição têm tipos de retorno incompatíveis.
O que é a exceção STORAGE_ERROR?
Ocorre quando o PL/SQL fica sem memória ou a memória é corrompida.
O que é a exceção SUBSCRIPT_BEYOND_COUNT?
Ocorre quando um programa referencia uma tabela aninhada ou varray usando um número de índice maior do que o número de elementos na coleção.
O que é a exceção SUBSCRIPT_OUTSIDE_LIMIT?
Ocorre quando um programa referencia um elemento de tabela aninhada ou varray usando um número de índice que está fora do intervalo legal (por exemplo, -1).
O que é a exceção SYS_INVALID_ROWID?
Ocorre quando a conversão de uma string de caracteres em um ROWID universal falha porque a string de caracteres não representa um valor ROWID.
O que é a exceção TOO_MANY_ROWS?
Ocorre quando uma consulta SELECT de linha única retorna várias linhas.
O que é a exceção VALUE_ERROR?
Ocorre quando um erro aritmético, de conversão, truncamento ou restrição de tamanho ocorre.
O que é a exceção ZERO_DIVIDE?
Ocorre quando um programa tenta dividir um número por zero.
Qual a função utilizada para lançar exceções customizadas no PL/SQL?
raise_application_error()
Qual o intervalo de números de erro que podemos usar para erros customizados com raise_application_error()?
-20000 a -20999