Tratamento de exceções em JSP
⚡ Resumo Inteligente
O tratamento de exceções em JSP gerencia erros que ocorrem durante a execução do código, de forma semelhante a Java Blocos try-catch. As exceções se dividem em três tipos: verificadas, de tempo de execução e de erro. As páginas JSP usam os atributos errorPage e isErrorPage para redirecionar e exibir exceções.

O que é exceção em JSP?
Exceções em JSP ocorrem quando há um erro no código por parte do desenvolvedor ou erro interno do sistema. O tratamento de exceções em JSP é o mesmo que em Java onde gerenciamos exceções usando blocos Try Catch. Diferente Java, há exceções em JSP também quando não há erro no código.
Tipos de exceções em JSP
As exceções em JSP são de três tipos:
- Exceção verificada
- Exceção de tempo de execução
- Exceção de erro
Exceções verificadas
Normalmente é um erro do usuário ou problemas que não são vistos pelo desenvolvedor são denominados exceções verificadas. Alguns exemplos de exceções verificadas são:
- FileNotFoundException: Esta é uma exceção verificada (onde tenta encontrar um arquivo quando o arquivo não é encontrado no disco).
- Exceção de E/S: Esta exceção também é verificada se houver alguma exceção durante a leitura ou gravação de um arquivo, então a exceção IO será gerada.
- SQLException: Esta também é uma exceção verificada quando o arquivo está conectado com SQL banco de dados, e há um problema com a conectividade do banco de dados SQL, então SQLException é gerado
Exceções de tempo de execução
Exceções de tempo de execução são aquelas que poderiam ter sido evitadas pelo programador. Elas são ignoradas no momento da compilação. Alguns exemplos de exceções de tempo de execução são:
- Índice de matriz fora dos limites de exceção: Esta é uma exceção de tempo de execução quando o tamanho da matriz excede o elementos.
- ArithmeticException: Esta também é uma exceção de tempo de execução quando há quaisquer operações matemáticas que não são permitidas em condições normais, por exemplo, dividir um número por 0 resultará em uma exceção.
- Null Pointer Exception: Esta também é uma exceção de tempo de execução que é gerada quando uma variável ou objeto é nulo quando tentamos acessá-lo. Esta é uma exceção muito comum.
Erros:
O problema surge devido ao controle do usuário ou programador. Se a pilha estourar, então pode ocorrer erro. Alguns exemplos do erro estão listados abaixo:
- erro: Este erro é uma subclasse de throwable que indica problemas sérios que um aplicativo não consegue detectar.
- Erro de instanciação: Este erro ocorre quando tentamos instanciar um objeto e ele não consegue fazer isso.
- Erro interno: Este erro ocorre quando ocorre um erro na JVM, ou seja Java Máquina virtual.
Exceções de erro
É uma instância da classe throwable, e é usada em páginas de erro. Alguns métodos da classe throwable são:
- String pública getMessage() – retorna a mensagem da exceção.
- público throwable getCause() – retorna a causa da exceção
- Public printStackTrace () – retorna a pilhatrace da exceção.
Como lidar com exceção em JSP
Aqui está um exemplo de como lidar com exceções em JSP:
Exceção_exemplo.jsp
<%@ page errorPage="guru_error.jsp" %> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Exception Guru JSP1</title> </head> <body> <% int num = 10; if (num == 10) { throw new RuntimeException("Error condition!!!"); } %> </body> </html>
Guru_error.jsp
<%@ page isErrorPage="true" %> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Exception Page</title> </head> <body> <p>Guru Exception has occurred</p> <% exception.printStackTrace(response.getWriter()); %> </body> </html>
Explicação do código:
Exceção_exemplo.jsp
Code Linha 1: Aqui estamos definindo a página de erro como guru_error.jsp que será usada quando o erro for redirecionado.
Code Linha 15: estamos pegando uma variável num e definindo-a como 10 e verificando uma condição se num for 10, para lançar uma exceção de tempo de execução com a mensagem como condição de erro.
Guru_error.jsp
Code Linha 1: Aqui estamos definindo o atributo isErrorPage como verdadeiro.
Code Linha 12: A exceção foi lançada em exception_example.jsp usando o objeto throw e será exibida aqui, pois o atributo IsErrorPage está marcado como verdadeiro. Usando o objeto exception (este é um objeto que permite que os dados da exceção sejam acessados pelo JSP), estamos tentando imprimir a pilha de chamadas.trace do erro que ocorreu em exception_example.jsp.
Ao executar o código acima você obtém a seguinte saída:
Saída:
A exceção foi lançada a partir de exception_example.jsp usando o objeto throw da exceção de tempo de execução e obtemos o código acima. Além disso, guru_error.jsp é chamado a partir de qual Guru Ocorreu uma exceção neste arquivo.

