comment savoir que dans une methode il ya des exception
comment savoir que dans une methode il ya des exception
Tu fouilles pour ta méthode dans les spécifications de l'API Java.
Voici l'adresse pour les spécification selon ta version de java :
http://java.sun.com/reference/api/index.html
Tu n'as qu'à choisir ta version.
Avant de poster : FAQ, tutos, rechercher, google, ... Après :
Merci
dans l'api quand il y a :
voila pas plus compliqué ... et la tu doit faire un try.. catch pour recuperer l'exception
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 methode () throws *Exception
Si tu veux savoir en cours d'execution si une methode possède des exceptions (méthode déclarée comme : methode () throws *Exception)il te faut aller voir du coté de la classe java.lang.reflect.Method
il y a une methode getExceptionTypes() qui renvoie un tableau vide de classes si ta methode ne possède pas d'exception.
C.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Object o;//ton objet Class c = o.getClass(); //la classe de ton objet Method mArray[] = c.getDeclaredMethods();//toutes les methodes de ta classe for(int i=0;i<mArray.length;i++) { Method m = mArray[i]; Class eClass [] = m.getExceptionTypes(); if(eClass.length != 0) { System.out.println("La methode "+m.getName()+" possède les exceptions suivantes :"); for(int j=0;j<eClass.length;j++) { Class exceptClass = eClass[j]; System.out.println(exceptClass.getName()); } } }
Le meilleur moyen est d'aller voir comme je disais les spécifications de l'API Java.
Avant de poster : FAQ, tutos, rechercher, google, ... Après :
Merci
Et puis tu as la methode bourrin, quand ca plante à la compilation !
Ah !! J'allais le dire !! Ca a le mérite d'être directe et simple, comme méthode.Envoyé par ghorgor
Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
Quelle belle méthode vous démontrez ici. C'est avec ces méthodes là que la programmation et l'informatique perds de sa crédibilité!
C'est vraiment pas fort comme suggestion.
Si une erreur survient dans le programme, c'est le client qui va être content d'abord![/quote]
Avant de poster : FAQ, tutos, rechercher, google, ... Après :
Merci
si tu utilise eclipse eclipse te previent que cette methode peut soulever des exception et te les proposent ^^. Sinon c'est dans l' API.
C'est parfois le seul moyen de catcher des cas particulier dans lesquels des RuntimeException sont lancees. En effet toutes ces exceptions et autres erreurs (NullPointerException, IllegalArgumentException, ...) n'ont pas besoin d'etre declaree dans la clause throw d'une methode. Et donc elles ne sont parfois pas documentees/declarees soit parce que le programmeur est un gros faineant soit tout simplement parce que c'est difficile a faire a cause de la tracabilite nottement quand on utilise une large API (ou l'appel d'une fonction peut en fait declencher des appels recursifs a 10~20 sous-classes...).Quelle belle méthode vous démontrez ici
Extrait de la doc de RuntimeException :
C'est pire encore pour des trucs genre OutOfMemoryError qui sont difficiles a attraper pour le moment (Java 5.0).A method is not required to declare in its throws clause any subclasses of RuntimeException that might be thrown during the execution of the method but not caught.
C'est bien pour ca qu'on fait des tests, des tests et encore des tests avant de livrer un programmeSi une erreur survient dans le programme, c'est le client qui va être content d'abord!
... et qu'on fournis des mises-a-jour et des patches apres la livraison...
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager