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

 


Dernière réponse
Sujet : [java] question sur la gestion des erreurs
darklord22

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:


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
darklord22

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:

drakkeng

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]

darklord22

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 ?

drakkeng

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 !!!

darklord22

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 ...

drakkeng

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 .

benou 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.
darklord22

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:

drakkeng

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.

darklord22

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 ...

darklord22 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+
drakkeng 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);
 }
 
 }
drakkeng

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 !!!!

darklord22 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:

drakkeng 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 .

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)