Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2743 connectés 

  FORUM HardWare.fr
  Programmation

  [java] question sur la gestion des erreurs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java] question sur la gestion des erreurs

n°90109
drakkeng
Posté le 17-01-2002 à 07:51:33  profilanswer
 

salut, j'ai encore des questions !!
 
maintenant voici mon prbléme ,je veux créer un objet Date dans mon main ,mais je veux controler que la date entré soit valide
 
exemple :
 
Date d=new Date(32,05,2002);
 
 
pour ça je veux faire une classe DateException,et je veux modifer la classe Date pour qu'elle fasse ce controle d'erreur.
ma question c'est que je comprends pas ce que doit contenir la class DateException je dois mettre mes test de validité dedans ?
 
dans la matinée je posterai mon code qui marche pas .

mood
Publicité
Posté le 17-01-2002 à 07:51:33  profilanswer
 

n°90112
darklord22
Nightwish rulezzzzzzzzzzzzz
Posté le 17-01-2002 à 08:32:38  profilanswer
 

Si tu veux controler que la date suit un pattern bien précis, tu as des outils qui te sont donnés. Suppose que ton utilisateur doit entre la date du 24 juin 1978 comme suit:
 
24-06-1978
 
Tu peux faire un truc du genre
 

Code :
  1. public static Date getDate(String date)
  2.     throws ParseException
  3. {
  4.    try {
  5.       SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy" );
  6.       return (df.parse(param));
  7.    }
  8.    catch (ParseException)
  9.    {
  10.       // do what you want here in case of exception
  11.    }
  12.    return null;
  13. }


 
Hope it helps
 
A+  :hello:


---------------
What is popular is not always right, what is right is not always popular :D
n°90138
drakkeng
Posté le 17-01-2002 à 09:37:26  profilanswer
 

darklord22 a écrit a écrit :

Si tu veux controler que la date suit un pattern bien précis, tu as des outils qui te sont donnés. Suppose que ton utilisateur doit entre la date du 24 juin 1978 comme suit:
 
24-06-1978
 
Tu peux faire un truc du genre
 

Code :
  1. public static Date getDate(String date)
  2.     throws ParseException
  3. {
  4.    try {
  5.       SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy" );
  6.       return (df.parse(param));
  7.    }
  8.    catch (ParseException)
  9.    {
  10.       // do what you want here in case of exception
  11.    }
  12.    return null;
  13. }


 
Hope it helps
 
A+  :hello:  




 
oui ok mais moi je veux aprrendre a tout refaire moi meme ,j'aime bien reinventer la roue :lol:
je suis en train de faire le prog si j'y arrive toujours pas je posterai mon code ici !!!!

n°90152
drakkeng
Posté le 17-01-2002 à 10:09:08  profilanswer
 

cool j'ai reussi ,enfin je crois  !!!!!
mais je me demande si c'est comme ça qu'il faut faire :
 
class Date
{
int jour;
int mois;
int annee;
 
Date(int j,int m,int a) throws DateException {
 
 
if (j>=1 && j<=30 && m>=1 && m<=12 && a>= 0)
{
jour =j;
mois =m;
annee=a;
System.out.println("Date ok" );
}
 
else throw new DateException("erreur date nom valide" );
 
 
}
}
//////////////////////////////////////
 
public class DateException extends Exception {
DateException(String m) {
super(m);
}
}
 
/////////////////////////////////////////////////////
class test {
 
 
 
public static void main (String args[] ) throws DateException
{
 
  Date d=new Date (29,5,2001);
 }
 
 }

n°90154
darklord22
Nightwish rulezzzzzzzzzzzzz
Posté le 17-01-2002 à 10:12:24  profilanswer
 

euh oui sauf que tu es completement out en terme de philo java. Tu crées une nouvelle classe Date au lieu d'étendre la Date java existante. Donc tu crées un objet concurent qui est censé représenter le même concept
 
Au niveau syntaxe je ne vois pas d'erreur majeure. Pour ce qui est du reste. Si tu veux réinventer la roue, ne développe pas en Jave (ca va t'amener plus de problèmes que d'expérience)
 
A+


---------------
What is popular is not always right, what is right is not always popular :D
n°90155
darklord22
Nightwish rulezzzzzzzzzzzzz
Posté le 17-01-2002 à 10:13:17  profilanswer
 

Drakkeng a écrit a écrit :

 
 
oui ok mais moi je veux aprrendre a tout refaire moi meme ,j'aime bien reinventer la roue :lol:
je suis en train de faire le prog si j'y arrive toujours pas je posterai mon code ici !!!!  




 
Tu peux apprendre à créer une exception qui t'es propre sans devoir réinventer la roue ...


---------------
What is popular is not always right, what is right is not always popular :D
n°90163
drakkeng
Posté le 17-01-2002 à 10:22:51  profilanswer
 

darklord22 a écrit a écrit :

euh oui sauf que tu es completement out en terme de philo java. Tu crées une nouvelle classe Date au lieu d'étendre la Date java existante. Donc tu crées un objet concurent qui est censé représenter le même concept
 
Au niveau syntaxe je ne vois pas d'erreur majeure. Pour ce qui est du reste. Si tu veux réinventer la roue, ne développe pas en Jave (ca va t'amener plus de problèmes que d'expérience)
 
A+  




 
non ,mais la j'ai pris Date comme exemple car j'avais pas d'idée je developpe pas d'application utilisant ça ,j'essai juste de réviser avant mon partiel ,sinon je serai le premier a regarder dans la doc les class qui existent deja pour les utiliser.

n°90174
darklord22
Nightwish rulezzzzzzzzzzzzz
Posté le 17-01-2002 à 10:37:50  profilanswer
 

Drakkeng a écrit a écrit :

 
 
non ,mais la j'ai pris Date comme exemple car j'avais pas d'idée je developpe pas d'application utilisant ça ,j'essai juste de réviser avant mon partiel ,sinon je serai le premier a regarder dans la doc les class qui existent deja pour les utiliser.  




 
okidoki  :sol:


---------------
What is popular is not always right, what is right is not always popular :D
n°90339
benou
Posté le 17-01-2002 à 16:51:40  profilanswer
 

remarque que si tu veux faire ca bien, tu peux rajouter des attributs supplémentaires dans ta classe DateException, comme par exemple le jour, le mois et l'année avec les getter correspondant. Ca te permet de faire des messages d'érreur pertinent quand tu catch l'erreur.


---------------
ma vie, mon oeuvre - HomePlayer
n°90364
drakkeng
Posté le 17-01-2002 à 18:06:20  profilanswer
 

benou a écrit a écrit :

remarque que si tu veux faire ca bien, tu peux rajouter des attributs supplémentaires dans ta classe DateException, comme par exemple le jour, le mois et l'année avec les getter correspondant. Ca te permet de faire des messages d'érreur pertinent quand tu catch l'erreur.  




 
oui d'ailleurs je capte pas pourquoi les class gérant les exceptions sont pratiquement vide en général ,moi je serai tenté de faire les tests de validé dans la classe DateException ,mais j'ai pas reussi .

mood
Publicité
Posté le 17-01-2002 à 18:06:20  profilanswer
 

n°90365
darklord22
Nightwish rulezzzzzzzzzzzzz
Posté le 17-01-2002 à 18:12:57  profilanswer
 

Drakkeng a écrit a écrit :

 
 
oui d'ailleurs je capte pas pourquoi les class gérant les exceptions sont pratiquement vide en général ,moi je serai tenté de faire les tests de validé dans la classe DateException ,mais j'ai pas reussi .  




 
Bin si l'exception est levée ca veut dire qu'il y a eu un probleme par définition. Donc c'est un peu tard pour tester quoi que ce soit puisqe l'erreur a déjà eu lieu ...


---------------
What is popular is not always right, what is right is not always popular :D
n°90366
drakkeng
Posté le 17-01-2002 à 18:16:01  profilanswer
 

darklord22 a écrit a écrit :

 
 
Bin si l'exception est levée ca veut dire qu'il y a eu un probleme par définition. Donc c'est un peu tard pour tester quoi que ce soit puisqe l'erreur a déjà eu lieu ...  




 
je comprends pas tout mais tu dois avoir raison !!!

n°90368
darklord22
Nightwish rulezzzzzzzzzzzzz
Posté le 17-01-2002 à 18:20:51  profilanswer
 

Drakkeng a écrit a écrit :

 
 
je comprends pas tout mais tu dois avoir raison !!!  




 
Bon la sémantique d'une exception en Java est la suivante. Suppose que tu crées CannotDivideByZeroException et que tu as une méthode  
 
public int divide (int a, int b)
 throws CannotDivideByZeroException
{
    if (b == 0)
       throw new CannotDivideByZeroException();
    else
       return (a/b);
}
 
A quoi ca te sert de checker quoi que ce soit dans le code de ton exception !!!!  :??:  :??:  
 
Ton programme client peut faire un truc du genre
 
try {
 /// bla bla bla
 int b = divide(c,d);
}
catch (CannotDivideException cde)
{
   // la tu sais qu'il y a eu une division par zero et donc tu peux faire qqch de précis
}
catch (AutreException cde)
{
   // la tu sais qu'il y a eu une exception machin chose et donc tu peux faire qqch de précis
}
 
C'est plus clair ?


---------------
What is popular is not always right, what is right is not always popular :D
n°90369
drakkeng
Posté le 17-01-2002 à 18:24:34  profilanswer
 

darklord22 a écrit a écrit :

 
 
Bon la sémantique d'une exception en Java est la suivante. Suppose que tu crées CannotDivideByZeroException et que tu as une méthode  
 
public int divide (int a, int b)
 throws CannotDivideByZeroException
{
    if (b == 0)
       throw new CannotDivideByZeroException();
    else
       return (a/b);
}
 
A quoi ca te sert de checker quoi que ce soit dans le code de ton exception !!!!  :??:  :??:  
 
Ton programme client peut faire un truc du genre
 
try {
 /// bla bla bla
 int b = divide(c,d);
}
catch (CannotDivideException cde)
{
   // la tu sais qu'il y a eu une division par zero et donc tu peux faire qqch de précis
}
catch (AutreException cde)
{
   // la tu sais qu'il y a eu une exception machin chose et donc tu peux faire qqch de précis
}
 
C'est plus clair ?  




 
oui merci ,ça m'aide bien !!
en fait il faut que je me sorte de l'esprit que l'exception c'est juste un test de validé ,je comprends le concpet maintenant.
 
mais arrête de m'aider !!!!
je te fais perdre beaucoup trop  de temps !!!!

 

[edtdd]--Message édité par Drakkeng--[/edtdd]

n°90370
darklord22
Nightwish rulezzzzzzzzzzzzz
Posté le 17-01-2002 à 18:25:20  profilanswer
 

Drakkeng a écrit a écrit :

 
 
oui merci ,ça m'aide bien !!
en fait il faut que je me sorte de l'esprit que l'exception c'est juste un test de validé ,je comprends le concpet maintenant.
 
mais arrête de m'aider !!!!
je te fais perdre beaucoup trop  de temps !!!!  
 
 




 
you're welcome !  :hello:


---------------
What is popular is not always right, what is right is not always popular :D

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [java] question sur la gestion des erreurs

 

Sujets relatifs
[Java] Erreur des que j'utilise Graphics2D ![Java / proxy] Quelqu'un connait JigSaw du W3C ici
comment installer java sous windows ?Php, Perl, Java, C#, ASP.Net ...
[JAVA] helllp a la compilation[JAVA] est-il possible d'iconifier une frame (awt) ?
[JAVA] Gerer les evenements (souris) sur son propre composant[java ,linux] comment gérer un truc comme ça ?
Gestion des ombres en OpenGL[java] je cherche des exemples d'interfaces
Plus de sujets relatifs à : [java] question sur la gestion des erreurs


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR