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 :

Question à propos des exceptions


Sujet :

avec Java

  1. #1
    Débutant  
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Points : 117
    Points
    117
    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:

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    vinou92340
    Invité(e)
    Par défaut
    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.

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    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"

  4. #4
    vinou92340
    Invité(e)
    Par défaut
    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 ?

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    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à.

  6. #6
    vinou92340
    Invité(e)
    Par défaut
    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.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2010
    Messages : 22
    Points : 34
    Points
    34
    Par défaut
    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 .

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    saiou: MonException n'est pas une méthode

  9. #9
    vinou92340
    Invité(e)
    Par défaut
    Plutôt un constructeur cf : "new ...()".

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2010
    Messages : 22
    Points : 34
    Points
    34
    Par défaut
    oui oui constructeur

Discussions similaires

  1. question à propos des containeurs
    Par bountykiller dans le forum C++
    Réponses: 4
    Dernier message: 02/10/2005, 13h21
  2. Question à propos des états
    Par rangernoir dans le forum IHM
    Réponses: 4
    Dernier message: 30/09/2005, 14h38
  3. Question à propos des compilateurs
    Par elf dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 20/07/2005, 17h00
  4. Question à propos des niveaux de transaction
    Par davy.g dans le forum Oracle
    Réponses: 3
    Dernier message: 18/01/2005, 15h31
  5. Une question à propos des thread
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2003, 14h03

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