IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Gestion de toutes les exceptions


Sujet :

JSF Java

  1. #1
    mame06
    Invité(e)
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    mame06
    Invité(e)
    Par défaut
    personne n'a une idée de comment faire?????

  3. #3
    Membre confirmé
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    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 : 325
    Points : 559
    Points
    559
    Par défaut
    Bonjour,
    pour mettre en oeuvre la déclaration error-page de web.xml avec exception-type :
    <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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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>

  4. #4
    mame06
    Invité(e)
    Par défaut
    ok merci je vais voir ça

  5. #5
    mame06
    Invité(e)
    Par défaut
    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.

  6. #6
    Membre confirmé
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    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 : 325
    Points : 559
    Points
    559
    Par défaut
    Bonjour,
    peux tu montrer un exemple de trace d'erreur non gérée, ainsi que le code qui l'a provoquée.

Discussions similaires

  1. [ZF 1.10] Gestion de toutes les exceptions dans une classe
    Par r-zo dans le forum Zend Framework
    Réponses: 1
    Dernier message: 19/06/2010, 01h23
  2. lister toutes les exceptions pouvant être lancées
    Par fabaroulettes dans le forum Langage
    Réponses: 2
    Dernier message: 02/03/2007, 18h05
  3. Capturer toutes les exceptions
    Par schneidb dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 13/02/2007, 14h51
  4. [VB.net] MsgBox pour toutes les exceptions
    Par collaud_vb dans le forum Windows Forms
    Réponses: 5
    Dernier message: 06/10/2006, 21h56
  5. [Exceptions]Attraper toutes les exceptions
    Par willowII dans le forum Langage
    Réponses: 4
    Dernier message: 16/08/2006, 19h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo