Précédent   Forum du club des développeurs et IT Pro > Java > Développement Web en Java > Frameworks > JSF
JSF Forum d'entraide sur JSF (Java Server Faces). Avant de poster -> La FAQ JSF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 28/01/2013, 13h08   #1
mame06
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Par défaut Gestion de toutes les exceptions

bonjour tout le monde.
voilà mon problème : je développe une application avec jee, jsf 1.2 richfaces 3 oracle 10g et POI pour la génération de fichier excel. je veux créer une seule page (générique) avec un seul message pour toutes les exception (SQL, inpustream, jsf etc) elle sera appelée dés qu'il y'a une exception quelle quel soit. voilà ce que j'ai mis dans le web.xml
Code :
1
2
3
4
5
 
<error-page>
	<exception-type>java.lang.Exception</exception-type>
	<location>/erreur.jsf</location>
</error-page>
maintenant je voudrais savoir quoi mettre dans mes managed beans après try (catch, finally) ou je ne mets rien. parceque il m'affiche tjrs etat http 500 - dans l'une de mes pages( qui contient une erreur pour tester) au lieu d'afficher la page erreur. jsf. quelqu'un a t-il une idée j'ai déjà fait un tour sur le net mai j'ai pas bien compris le principe. merci d'avance.
  Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2013, 14h31   #2
mame06
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
personne n'a une idée de comment faire?????
  Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2013, 15h21   #3
kox2ee
Membre expérimenté
 
Homme
Ed Nat
Inscription : janvier 2013
Messages : 323
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Ed Nat
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2013
Messages : 323
Points : 587
Points : 587
Bonjour,
pour mettre en oeuvre la déclaration error-page de web.xml avec exception-type :
Citation:
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/erreur.jsf</location>
</error-page>
il faut créer une classe Wrapper (encapsulant) de RuntimeException :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
public class WrapException extends RuntimeException {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	Throwable throwable;
 
	private WrapException(Throwable t) {
		this.throwable = t;
	}
 
	public static RuntimeException wrap(Throwable t) {
		if (t instanceof RuntimeException)
			return (RuntimeException) t;
		return new WrapException(t);
	}
 
	public Throwable getCause() {
		return this.throwable;
	}
 
	public void printStackTrace() {
		this.throwable.printStackTrace();
	}
}

Et ensuite, dans tes try/catch, tu wrap l'exception comme dans cet exemple générant une erreur :
Code :
1
2
3
4
5
6
 
try{
	float b=1/0;
}catch(Exception e){
	throw WrapException.wrap(e);
}
Ta page error.jsp affichant les erreurs (pas terrible celle là):
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<%@ page isErrorPage="true" import="java.io.PrintWriter" language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Page erreur</title>
</head>
<body>
<%
exception.printStackTrace(new PrintWriter(out));
%>
</body>
</html>
kox2ee est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2013, 15h24   #4
mame06
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
ok merci je vais voir ça
  Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2013, 16h17   #5
mame06
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Pour les exceptions 404, 500 ça marche bien mais pour les autres la page d'erreur ne s'affiche pas et il affiche toute l'erreur.
  Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2013, 16h48   #6
kox2ee
Membre expérimenté
 
Homme
Ed Nat
Inscription : janvier 2013
Messages : 323
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Ed Nat
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2013
Messages : 323
Points : 587
Points : 587
Bonjour,
peux tu montrer un exemple de trace d'erreur non gérée, ainsi que le code qui l'a provoquée.
kox2ee est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h35.


 
 
 
 
Partenaires

Hébergement Web