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

avec Java Discussion :

Question à propos un programme d'exceptions


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut Question à propos un programme d'exceptions
    Bonjour,

    J'ai cette méthode main:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public static void main(String[] args) {
     
            try {
                Ville v = new Ville("Ts", 1200, "France");
            } catch (NombreHabitantException ex) {
                ex.printStackTrace();
            } catch (NomVilleException ex) {
                System.out.println("Erreur de nom");
            }
            finally{
                System.out.println("Je suis dans le bloc finally");
            }
        }
    Le problème c'est que sous la ligne ex.printStackTrace(); l'IDE m'affiche un warning indiquant que Throwable.printStackTrace() should be removed, je me demande pourquoi?

    C'est quoi le problème, merci!

  2. #2
    Membre Expert

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 749
    Par défaut
    Salut,

    L'IDE que tu as affiches ce message car il te signale que lors du déploiement de ton application, lorsque tu n'auras plus de sortie console, l'utilisateur ne verra pas l'affichage de la stacktrace et donc a fortiori l'exception. Il vaut mieux mettre ça dans un log, ou afficher l'erreur dans une boîte de dialogue, etc.
    C'est purement une recommandation.

    Alain

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    'Faut reconnaître que "should be removed" c'est pas terrible comme recommandation. "Should indicate where to print" me semblerait préférable.

    Moi on me dit "should be removed" je comprends "Il sert à rien ton catch/printStackTrace(), ici : tu es à la fin de la méthode main() et si une Exception en remonte, le wrapper de main() s'occupera d'écrire la stack trace."
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par alain.bernard Voir le message
    Salut,

    L'IDE que tu as affiches ce message car il te signale que lors du déploiement de ton application, lorsque tu n'auras plus de sortie console,
    Ha bon, d'où tu sort ça? Toutes mes applications java, jusqu'à présent, ont bien leur console C'est même la première fois que je vois un ide dire qu'on ne devrais pas utiliser printStackTrace()

    Tu n'aurais pas activer des règles optionnelles dans ton ide, ou des trucs comme checkstyle?

  5. #5
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Toutes mes applications java, jusqu'à présent, ont bien leur console C'est même la première fois que je vois un ide dire qu'on ne devrais pas utiliser printStackTrace()
    Ce n'est pas le cas des miennes (applications réparties sur un ensemble de pc104 dispersés sur un gros gros matériel: un téléscope). Si j'avais ça sur les IDE utilisés par les programmeurs du projet ça serait bien pratique: le premier qui me fait un printStacktrace se fait taper sur les doigts

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Y a pas de stderr sur les PC104??

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Enfin moi sur un desktop, j'ai certes une sortie console... Mais vu que je n'ouvre aucune vue de cette console, elle est tout simplement perdue.

    (Après il me semble que si je fais quand même printStackTrace() alors que j'ai fait ça, c'est encore mon problème.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Question à propos les exceptions
    Par L'aigle de Carthage dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 21/07/2013, 22h19
  2. Question à propos des exceptions
    Par L'aigle de Carthage dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 05/01/2013, 23h25
  3. Questions à propos de la programmation
    Par SomePerson dans le forum Général Java
    Réponses: 2
    Dernier message: 19/01/2012, 16h42
  4. Question à propos de la STL et des exceptions
    Par teddyalbina dans le forum Langage
    Réponses: 4
    Dernier message: 11/06/2011, 00h24
  5. Une question à propos des thread
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2003, 14h03

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