Précédent   Forum du club des développeurs et IT Pro > Java > Général Java > Débuter
Débuter Forum d'entraide pour bien débuter avec Java
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 27/12/2012, 18h10   #1
L'aigle de Carthage
Débutant
 
Inscription : mai 2006
Messages : 567
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 567
Points : 63
Points : 63
Par défaut Question à propos des exceptions

Bonsoir à toutes et à tous,

j'ai lu dans une page web (en fait, il s'agit d'un cours JAVA sur les exceptions) cette phrase:

Citation:
Les méthodes qui peuvent lancer des exceptions doivent être déclarées
"throws".
Là je comprends que lorsque je fais un throw, je dois mettre throws dans la déclaration de ma méthode, OK! mais je peut aussi ne pas la mettre, en mettant l'instruction dans un bloc try/catch, n'est ce pas?

Code :
1
2
3
4
5
6
7
8
9
10
 
try{
if(x<0){
 
throw new MonException();
 
}
}catch(MonException ex){
System.out.println("Exception générée!");
}
Donc, je ne suis pas obligé à toujours mettre throws, n'est ce pas?

Merci
L'aigle de Carthage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2012, 19h22   #2
vinou92340
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Je reviens sur ce que j'ai écrit.

Techniquement, try catch sert à attraper une exception qui est lancée. Si c'est une exception maison, il faut que tu indiques dans ton code le throws MonException(). Ainsi, si ta méthode où tu as mis cette exception est appelée, l'utilisateur lui utilisera le try catch en passant en paramètre du catch le type de l'exception lancée (dans notre cas MonException).

Voilà, je m'excuse pour l'erreur.

PS: c'est un peu comme les accesseurs et les mutateurs.

Dernière modification par vinou92340 ; 27/12/2012 à 20h01.
  Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2012, 23h08   #3
tchize_
Expert Confirmé Sénior
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 18 419
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 18 419
Points : 33 166
Points : 33 166
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
vu que ton code attrape l'exception, la méthode dans laquelle se trouve ce code ne lance donc pas d'exception. Donc pas de "throws"
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir.
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2012, 23h16   #4
vinou92340
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Mais n est ce pas une exception qu il a créé lui même (cf classe MonException et donc tout autre que celles habituelles ) ? De ce fait il la lance dans sa méthode lors d'une vérification.
Et donc le try catch intervient lors de l appel de sa méthode qui contient la vérification.

Non ?
  Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2012, 23h26   #5
tchize_
Expert Confirmé Sénior
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 18 419
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 18 419
Points : 33 166
Points : 33 166
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
il n'y a aucune méthode à l'intérieur de son try catch, donc je ne comprends absolument pas de quoi tu parle là.
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir.
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2012, 23h36   #6
vinou92340
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Je parle de la possibilité qu il ait voulu creer une methode qui contient la vérification x<0 et qui lance l exception de classe Monexception si c est le cas. Et donc je parlais du try catch dans le sens qu il serait plutot a placer dans un contexte d appel de cette méthode si il y a la possibilité que x soit inférieur a 0.

Mais bon, je dois delirer ^^.

Aller bonne nuit a tous et desole de mes reponses.


Ps: ok, j avais mal compris que le probleme se posait sur la difference entre "throw" et "throwS". Désolé

Dernière modification par vinou92340 ; 27/12/2012 à 23h49.
  Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2012, 01h06   #7
saidou007
Futur Membre du Club
 
Said Mahroug
Chercheur en informatique
Inscription : avril 2010
Messages : 16
Détails du profil
Informations personnelles :
Nom : Said Mahroug

Informations professionnelles :
Activité : Chercheur en informatique

Informations forums :
Inscription : avril 2010
Messages : 16
Points : 17
Points : 17
Salut,
Vous devez mentionner dans votre code que la méthode "MonException()" peut engendrer une erreur en utilisant le mot clé throws dans la déclaration de la méthode .
saidou007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2012, 01h32   #8
tchize_
Expert Confirmé Sénior
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 18 419
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 18 419
Points : 33 166
Points : 33 166
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
saiou: MonException n'est pas une méthode
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir.
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2012, 08h15   #9
vinou92340
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Plutôt un constructeur cf : "new ...()".
  Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2013, 23h25   #10
saidou007
Futur Membre du Club
 
Said Mahroug
Chercheur en informatique
Inscription : avril 2010
Messages : 16
Détails du profil
Informations personnelles :
Nom : Said Mahroug

Informations professionnelles :
Activité : Chercheur en informatique

Informations forums :
Inscription : avril 2010
Messages : 16
Points : 17
Points : 17
oui oui constructeur
saidou007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h30.


 
 
 
 
Partenaires

Hébergement Web