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 :

unreported exception java.text.ParseException;


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Développeur Java
    Inscrit en
    novembre 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : novembre 2020
    Messages : 17
    Points : 15
    Points
    15
    Par défaut unreported exception java.text.ParseException;
    Bonjour à tous,

    J'essaye de récupérer une date saisie au clavier mais lors de la compilation j'obtiens cette erreur :

    unreported exception java.text.ParseException; must be caught or declared to be thrown

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    System.out.println("Saisissez une date (AAAA/MM/JJ) :");
    Scanner sc = new Scanner(System.in);
    String str = sc.nextLine();
     
         if(str.matches("[0-9]{2}/[0-9]{2}/[0-9]{4}")){
             SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
             Date date = f.parse(str);
     
         }else{
             System.out.println("Erreur format");
         }
    Apparemment le bug vient de cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Date date = f.parse(str);
    Merci d'avance

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : septembre 2004
    Messages : 12 190
    Points : 20 643
    Points
    20 643
    Par défaut
    Hello,

    je dirais plutôt de celles-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [0-9]{2}/[0-9]{2}/[0-9]{4}
    Je sais bien que dans notre monde il faut cultiver la différence et tout, mais dans ce cas précis il vaut mieux choisir un format et un seul.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Femme Profil pro
    Développeur Java
    Inscrit en
    novembre 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : novembre 2020
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    System.out.println("Saisissez une date (JJ/MM/AAAA) :");
    	Scanner sc = new Scanner(System.in);
    	String str = sc.nextLine();
    	if(str.matches("[0-9]{2}/[0-9]{2}/[0-9]{4}")){
        	SimpleDateFormat f = new SimpleDateFormat("MM-dd-yyyy");
        	Date date = f.parse(str);
    	}
    	else {
        System.out.println("Erreur format");
    	}
    Effectivement petite erreur de ma part cependant j'ai toujours la même erreur.

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : septembre 2004
    Messages : 12 190
    Points : 20 643
    Points
    20 643
    Par défaut
    Pardon j'avais même pas regardé quelle erreur s'affiche.

    "unreported exception java.text.ParseException; must be caught or declared to be thrown" ->

    ça veut dire que SimpleDateFormat.parse() ça peut lancer une ParseException si la date qu'on tente de parser n'est pas dans format indiqué.

    Et donc, comme le dit le message d'erreur, qu'il faut soit catcher cette ParseException, soit déclarer qu'elle peut être lancée. Consulte les tutoriels sur que faire des exceptions.

    Ah, et au passage, t'as à peine arrangé les formats de date, là, ils restent différents les uns des autres. Il va falloir faire un peu plus d'efforts. Ou moins, c'est selon, en faisant des copier/coller pour être sûr que c'est bien toujours pareil.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre à l'essai
    Femme Profil pro
    Développeur Java
    Inscrit en
    novembre 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : novembre 2020
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    J'ai changé ma conditiion if/else par try/catch en gérant les exceptions et ça marche !

    Merci pour ta réponse

Discussions similaires

  1. java.text.ParseException: Unparseable date
    Par élams dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 08/05/2008, 19h46
  2. Réponses: 1
    Dernier message: 16/01/2008, 12h37
  3. Réponses: 4
    Dernier message: 13/11/2007, 13h55
  4. unreported exception: java.lang.ClassNotFoundException
    Par obydissonn dans le forum JDBC
    Réponses: 1
    Dernier message: 22/03/2007, 16h54
  5. java.text.ParseException: Unparseable date
    Par habasque dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 28/12/2006, 15h29

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