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 :

gestion des Exceptions


Sujet :

avec Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 29
    Par défaut gestion des Exceptions
    Bonjour ,

    je lisais une partie sur les exceptions en java , à vrai dire je n' ai pas compris grand chose.

    ce que j ai compris est qu ' on peut utiliser une exception lorsque une methode invoquée est risquée ?mais je n ai pas du tout compris comment cela se passe et dans quel but précis.

    J aimerai avoir un exemple simple et efficace

    Merci

  2. #2
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class TestException {
        public static void main(java.lang.String[] args) {
            // Insert code to start the application here.
            int i = 3;
            int j = 0;
            try {
                System.out.println("résultat = " + (i / j));
            }
            catch (ArithmeticException e) {
                e.printStackTrace();
            }
        }
    }
    Résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    java.lang.ArithmeticException: / by zero
            at tests.TestException.main(TestException.java:24)

  3. #3
    Membre très actif
    Inscrit en
    Mars 2008
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 283
    Par défaut
    Il y a deux utilisations d'exceptions.

    La première est en cas de dysfonctionnement ou d'impossibilité de traitement. Les différentes classes d'exception permettent de différencier les différents problèmes que l'on peux rencontrer, on peux donc gérer ces exceptions et faire réagir le programme d'autant de façon qu'il y a de blocs "catch".
    Ici, les exceptions servent à signaler un problème.

    La seconde utilisation de ces exceptions est en temps que valeur de retour ou commande d'arrêt de méthode. Certains algorithmes assez complexes voient leurs écritures parfois simplifiées en utilisant des exceptions comme retour. On les utilise aussi pour les cas particuliers dont le type de retour déjà défini ne permet pas de rendre compte de cette particularité tel que la division par 0.
    Ici, les exceptions servent à l'arrêt d'un algorithme ou à un cas particulier.

    J'espère t'avoir éclairé.

    EDIT : J'aurais pas du mettre autant de temps à valider :p

  4. #4
    Membre éclairé Avatar de dv-2008
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 240
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void setNbPages(int nb)throws Exception {
        if(nb<0) throw new Exception("Entrer un nombre superieur à 0");{
        }
        nbPages=nb;
        }

  5. #5
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    les exceptions servent a gerer les cas ou sa se passe mal :
    par exemple tu veux ouvrir un fichier mais il n existe pas : l 'exception est ouverte....
    il n y pas grand chose a comprendre c'est juste une securité "au cas ou "

  6. #6
    Membre chevronné Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Par défaut
    Citation Envoyé par laurentibus Voir le message
    les exceptions servent a gerer les cas ou sa se passe mal :
    par exemple tu veux ouvrir un fichier mais il n existe pas : l 'exception est ouverte....
    il n y pas grand chose a comprendre c'est juste une securité "au cas ou "
    Elles permettent de définir :
    - les messages d'erreur en cas de problèmes
    - les actions en cas d'erreur :
    Ex : Je n'arrive pas à mettre à jour ma base de données.
    => je logge une erreur, j'envoie un mail au DBA ( par exemple) , je stocke un edescription des traitements en cours dans un fichier pour la reprise et je zappe la partie du traitement qui suit sur les données mises à jour .

  7. #7
    Membre très actif
    Inscrit en
    Mars 2008
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 283
    Par défaut
    Cela ne sert pas qu'aux erreurs

    Prennez un algorithme de recherche récursif d'un chemin dans un labyrinthe, la méthode aura un retour booleen si la recherche peux continuer ou doit revenir en arrière et un jet d'exception pour le résultat final (le chemin parcouru que l'on met dans une liste)

    On peux s'en servir pour des tas de choses (car se sont aussi des objets avant tout)

  8. #8
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    pour moi utiliser les Exceptions pour faire du return c'est très moyen... c'est du même gout que les goto dans les programmes...
    mais chacun ses méthodes

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 29
    Par défaut
    salut ,

    je vous remercie pour vos réponses ;
    Si j ' ai bien saisi , les exceptions servent avant tout à controler des erreurs qui peuvent se produire et à eviter des arrêts non désirés d' un programme en cours d exécution.

    On utilise le bloc try {catch{} , dans le bloc try on stipule que cette série d instructions peut lever une exception et le traitement se réalise dans le bloc catch.

    imaginons en utilisant la classe scanner , je voudrais réaliser une division avec un diviseur non negatif , et un dividende et un diviseur qui soient absolument des chiffres , je voudrais lever une exception si je rentre autre chose qu è un nombre.

    Merci à vous

  10. #10
    Membre expérimenté Avatar de Tux++
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    281
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 281
    Par défaut
    tu crées une exception de la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public class BadIntException extends Exception{
     
    }
    dans laquelle tu gères l'exception voulue (genre chiffre négatif etc)

    tu la rajoutes dans ton package/projet

    et ensuite quand tu en as besoin tu fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    try{
    ...
    }catch(BadIntException e){
                return e;
    }

    par exemple


    ca dépends si l'exception que tu veux renvoyer existe déja ou non, dans ce cas ci tu la crée

Discussions similaires

  1. [ADOConnect] gestion des exception en tout temps
    Par portu dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/04/2005, 19h01
  2. [ORACLE 9i] Gestion des exceptions
    Par sygale dans le forum SQL
    Réponses: 6
    Dernier message: 19/08/2004, 15h06
  3. Gestion des exception (EOleException)
    Par shurized dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/06/2004, 17h25
  4. [XMLRAD] gestion des exceptions
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/01/2003, 17h48
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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