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 :

Exception pour gérer les nombres négatifs


Sujet :

avec Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 233
    Points : 92
    Points
    92
    Par défaut Exception pour gérer les nombres négatifs
    Bonjour,

    Cherchant à construire une calculette pour évaluer le prix des options call ou put, je cherche à créer une exception qui gère les nombres négatifs et écrit qqe chose du genre "pas de nbres négatifs svp!".

    J'ai essayé de créer une exception de la forme suivante. Dans la classe qui gère les textfield permettant de renseigner le prix du sous-jacent etc j'ai écrit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public void setJtf2(JTextField jtf2) throws ChampsNegatifs {
    		this.jtf2 = jtf2;
    		if (Double.parseDouble(getJtf2().getText()) < 0) {
    			throw new ChampsNegatifs();
    		}
    	}
    Puis voila la classe qui extends exception:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class ChampsNegatifs extends Exception {
    	public ChampsNegatifs() {
    		System.out.println("pas de nombres négatifs svp");
    	}
    }
    Visiblement, je n'ai pas d'erreur rouge mais cela ne fonctionne pas...

    Pourriez-vous m'aiguiller svp?

    Merci d'avance!

    ps: n'hésitez pas à me demander d'autres infos si vs les nécessitez pr mieux appréhender le pb

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Mets ton message dans le champ "message" de la classe Exception.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class ChampsNegatifs extends Exception {
    	public ChampsNegatifs() {
    		super("pas de nombres négatifs svp");
    	}
    }
    Puis dans ton programme quand tu fais un appel à setJtf2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    try {
        setJtf2(jtf2);
    } catch(ChampsNegatifs e) {
        // traitement de l'exception et récupération du message avec e.getMessage().
    }
    Pour le reste, sans plus d'informations je ne peux pas t'aider.

  3. #3
    Membre chevronné
    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 : 75
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    autre version
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    class ChampNegatif extends Exception {
        public final double errValue ; //  public final se discute !
       public ChampNegatif(double errvalue) {
            this.errValue  = errValue ;
       }
       public String toString() {
          return super.toString() + " " + errValue ;
       }
    }
    La généralisation de cette technique a un avantage: rappelons qu'au départ c'est un code qui récupère l'exception pas un être humain... Ce code aura toujours le temps de raconter sa vie en faisant une jolie phrase (en Moldo-Valaque s'il le faut!)

    par ailleurs dans ton code parseDouble peut déclencher une exception.
    J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes!
    (mon excellent bouquin sur Java : https://eska-publishing.com/fr/livre...822407076.html)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 233
    Points : 92
    Points
    92
    Par défaut
    Merci à tous les 2!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gérer les nombres réels pour script shell
    Par Bil'0x dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 16/07/2013, 11h25
  2. Réponses: 2
    Dernier message: 21/09/2012, 16h23
  3. Réponses: 21
    Dernier message: 01/09/2008, 11h16
  4. Réponses: 13
    Dernier message: 07/02/2007, 12h10
  5. Méthode simple pour gérer les collisions
    Par Hyoga dans le forum OpenGL
    Réponses: 2
    Dernier message: 19/02/2005, 13h43

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