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 :

Try et Catch


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 63
    Par défaut Try et Catch
    Bonjour,

    je souhaite réaliser un programme permettant d'afficher des dates ,et effectuer des tests avec TRY CATCH. Hélas, à la compilation j'ai le message d'erreur suivant : "Exception is never thrown in body of corresponding try statement." ^catch ErrorMistake e. Je ne comprends pas. Avez vous une idée de ce qui ne va pas dans mon code ?

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     public ErrorMistake( String message ) {
     super( message ) ;
     }
    }
    public class Date {
     private int Jour, Mois, Annee;
     
     public Date(int JJ, int MM, int AAAA) {
     Jour = JJ;
     Mois = MM;
     Annee = AAAA;
     }            
     
     
     public void TestDate (Date LaDate) throws ErrorMistake {
     	 if ( this.Jour < 0 || this.Mois > 31 ){
     	 	 throw new ErrorMistake ( "Votre Date n'est pas valide");
     	 }
     	 if ( this.Mois < 0 || this.Mois > 31 ){
     	 	 throw new ErrorMistake ( "Votre Date n'est pas valide");
     	 }
     	 if ( this.Annee < 0 || this.Annee > 31 ){
     	 	 throw new ErrorMistake ( "Votre Date n'est pas valide");
     	 }
     }
     
     public int queljour(){
     	 return Jour;
     }
      public int quelmois(){
     	 return Mois;
     }
      public int quelannee(){
     	 return Annee;
     }
     public void afficher(Date UneDate){
     	 System.out.println(this.queljour() + "/" + this.quelmois() + "/" + this.quelannee());
     }
    Code Test
    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 class DateTest {
     
    public static void main(String Arguments[]){
    	try {
    		Date SaintValentin = new Date(15,02,2014);
    		SaintValentin.afficher(SaintValentin);
    	}
    	catch (ErrorMistake e){
    		System.out.println ("Erreur : " + e.getMessage());
    	}
    }
     
     
    }

  2. #2
    Membre éprouvé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Par défaut
    Dans ta classe DateTest, ce qui se trouve dans le bloc "try" ne renverra JAMAIS d'"ErrorMistake" (càd ni le constructor de ta classe Date, ni la méthode afficher ne peut renvoyer une exception de type ErrorMistake)

    Ton try-catch est donc dans ce cas totalement inutile et tu peux l'enlever.

    EDIT : En relisant ton code, je me demande pourquoi tu ne testes pas la date au moment de sa construction (dans le constructeur de ta classe Date). Auquel cas la constructeur devrait déclarer pouvoir renvoyer une exception de type ErrorMistake et alors à ce moment, le try-catch de la classe DateTest aurait un sens.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 63
    Par défaut
    Salut,

    ok je viens de comprendre,

    je n'utilisais pas ma fonction de test dans la partie try , maintenant ça marche.
    Je fais sans doute plein de trucs pas logiques et tes remarques m'aident à améliorer le programme.

    Merci

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

Discussions similaires

  1. [PHP 5.3] try - throw - catch
    Par ETVigan dans le forum Langage
    Réponses: 2
    Dernier message: 18/05/2010, 19h43
  2. [Débutant] Instruction try and catch
    Par Asmlibero dans le forum MATLAB
    Réponses: 2
    Dernier message: 19/01/2009, 10h37
  3. probleme avec try et catch
    Par salsero1 dans le forum Struts 1
    Réponses: 2
    Dernier message: 15/11/2007, 08h02
  4. UTILISATION DE TRY et CATCH
    Par demcoul dans le forum JBuilder
    Réponses: 1
    Dernier message: 15/04/2006, 15h01
  5. Pb : Exception / déroutements / try, throw, catch
    Par Bapt_from_Reims dans le forum C++
    Réponses: 5
    Dernier message: 18/03/2005, 17h55

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