Gestion des exceptions dans JSP
⚡ Résumé intelligent
La gestion des exceptions dans JSP gère les erreurs qui surviennent lors de l'exécution du code, de manière similaire à Java Les blocs try-catch gèrent les exceptions de trois types : vérifiées, d’exécution et d’erreur. Les pages JSP utilisent les attributs errorPage et isErrorPage pour rediriger et afficher les exceptions.
Qu’est-ce qu’une exception dans JSP ?
Exceptions dans JSP se produit lorsqu'il y a une erreur dans le code, soit par le développeur, soit par une erreur interne du système. La gestion des exceptions dans JSP est la même que dans Java où nous gérons les exceptions à l’aide de blocs Try Catch. Contrairement à Java, il existe également des exceptions dans JSP lorsqu'il n'y a pas d'erreur dans le code.
Types d'exceptions dans JSP
Les exceptions dans JSP sont de trois types :
- Exception cochée
- Exception d'exécution
- Exception d'erreur
Exceptions vérifiées
Il s'agit généralement d'une erreur de l'utilisateur ou de problèmes qui ne sont pas détectés par le développeur et qui sont appelés exceptions vérifiées. Voici quelques exemples d'exceptions vérifiées :
- FileNotFoundException: Il s'agit d'une exception vérifiée (où il essaie de trouver un fichier lorsque le fichier est introuvable sur le disque).
- Exception d'E/S: Il s'agit également d'une exception vérifiée. Si une exception se produit lors de la lecture ou de l'écriture d'un fichier, l'exception IO est déclenchée.
- SQLException: Il s'agit également d'une exception vérifiée lorsque le fichier est connecté à SQL base de données, et il y a un problème avec la connectivité de la base de données SQL, alors SQLException est levée
Exceptions d'exécution
Les exceptions d'exécution sont celles qui auraient pu être évitées par le programmeur. Elles sont ignorées au moment de la compilation. Voici quelques exemples d'exceptions d'exécution :
- ArrayIndexOutOfBoundsExceptionArrayIndexOutOfBoundsException: Il s'agit d'une exception d'exécution lorsque la taille du tableau dépasse la éléments.
- ArithmétiqueException: Il s'agit également d'une exception d'exécution lorsqu'il existe des opérations mathématiques qui ne sont pas autorisées dans des conditions normales, par exemple, diviser un nombre par 0 donnera une exception.
- Exception NullPointer: Il s'agit également d'une exception d'exécution qui est déclenchée lorsqu'une variable ou un objet est nul lorsque nous essayons d'y accéder. Il s'agit d'une exception très courante.
Les erreurs:
Le problème survient en raison du contrôle de l'utilisateur ou du programmeur. Si la pile déborde, une erreur peut se produire. Voici quelques exemples d'erreur :
- Erreur: Cette erreur est une sous-classe de throwable qui indique des problèmes graves qu'une application ne peut pas détecter.
- Erreur d'instanciation: Cette erreur se produit lorsque nous essayons d'instancier un objet, et cela ne parvient pas à le faire.
- Erreur interne : Cette erreur se produit lorsqu'une erreur s'est produite à partir de la JVM, c'est-à-dire Java Machine virtuelle.
Exceptions d'erreur
Il s'agit d'une instance de la classe throwable, et elle est utilisée dans les pages d'erreur. Voici quelques méthodes de la classe throwable :
- Chaîne publique getMessage() – renvoie le message de l'exception.
- public throwable getCause() – renvoie la cause de l’exception
- Public printStackTrace () – renvoie la piletrace de l'exception.
Comment gérer les exceptions dans JSP
Voici un exemple de la façon de gérer les exceptions dans JSP :
Exception_example.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>
Explication du code :
Exception_example.jsp
Code Ligne 1: Ici, nous définissons la page d'erreur sur guru_error.jsp qui sera utilisée lorsque l'erreur sera redirigée.
Code Ligne 15: nous prenons une variable num et la définissons sur 10 et vérifions une condition si num est 10, puis nous lançons une exception d'exécution avec le message comme condition d'erreur.
Guru_error.jsp
Code Ligne 1: Ici, nous définissons l'attribut isErrorPage sur true.
Code Ligne 12: Une exception a été levée dans exception_example.jsp à l'aide de l'objet throw et sera affichée ici car l'attribut IsErrorPage est défini sur true. Nous utilisons cet objet exception (qui permet à la JSP d'accéder aux données de l'exception) pour afficher la pile d'exécution.trace de l'erreur qui s'est produite dans exception_example.jsp.
Lorsque vous exécutez le code ci-dessus, vous obtenez le résultat suivant :
Sortie :
Une exception a été levée depuis exception_example.jsp à l'aide de l'objet throw de l'exception d'exécution, ce qui nous donne le code ci-dessus. guru_error.jsp est également appelé. Guru Une exception s'est produite avec ce fichier.


