Accueil > Forum > > > > Comment obliger le catch d'une exception?
Comment obliger le catch d'une exception?
mardi 12 avril 2005 à 16:23:14 |
Comment obliger le catch d'une exception?

tominfo
|
Salut,
Je cherche à savoir comment on indique à une méthode qu'elle est suscpetible de jetter une exception et que l'objet qui l'appelle soit obligé de la catcher.
En fait, je cherche l'equivalent Java de :
public void fonction1() throws MonException {
...
}
qui provoque une erreur de compilation si l'objet qui appelle fonction1() ne fait pas un try ... catch dessus.
Merci!
tom
|
|
mardi 12 avril 2005 à 16:30:34 |
Re : Comment obliger le catch d'une exception?
|
mercredi 13 avril 2005 à 02:24:25 |
Re : Comment obliger le catch d'une exception?

tominfo
|
T'es sûr de toi?
Je développe des classes de base utilisées par l'équipe "interface
graphique" mais je dois protéger les méthodes que je créer!!! Ils
DOIVENT vérifier si la méthode s'est correctement exécutée!
Je ne peux donc pas coder ça proprement???
J'étais déjà pas fan de .NET et je suis pas prêt de le devenir...
tom
|
|
mercredi 13 avril 2005 à 08:27:48 |
Re : Comment obliger le catch d'une exception?

Warny
|
Salut,
Tu ne peux faire ça dans aucun langage connu. Même dans le java tu ne peux pas forcer ça. Je peux parfaitement faire un Throws Exception dans la fonction appelante et elle ne traitera pas l'exception.
Une exception est une information qui te permet de traiter une erreur dans ta pile d'appel. Rien ne peut te forcer à traiter l'erreur sinon l'utilisateur final qui en aura marre que son appli plante. Si tu utilises les exception pour une autre utilisation, il faut complètement revoir ta façon de programmer.
Console.Out.WriteLine("Warny") Il y a 10 types de personnes Ceux qui comptent en binaire... et les autres
|
|
mercredi 13 avril 2005 à 09:51:24 |
Re : Comment obliger le catch d'une exception?

Arthenius
|
tu peux utiliser les throw exception effectivement dans ton programme... mais il faudra que les gens utilisant ta dll face des try pour catcher tes throws...
Arthenius http://blogs.developpeur.org/Arthenius/
"Ce qui ne me tue pas, me rend plus fort..."
|
|
mercredi 13 avril 2005 à 22:50:15 |
Re : Comment obliger le catch d'une exception?

Crazyht
|
De plus fonctionnelement il n'y a aucune raison qu'un language te force à catcher telle ou telle type d'exception. Et meme si tu forces les utilisateur a catcher une exception metier, je suis certain que quelque part une exception de plus bas niveau peut remonter de ton code jusqu'a l'UI, alors dans cette hypothese vaut il mieux que l'utilisateur catch 3 exceptions metier et par lassitude ne pas mettre de catch général ou vaut-il mieux qu'il mette seulement un catch général qui lui permettra d'avertir l'utilisateur dans tous les cas ? P.S. : Oui je suis sur de moi, sinon je mets un conditionnel dans ma reponse ou je reponds pas. A++ Crazyht MVP Visual C#.NET[Admin Codes-Sources] [Membre Developer-Association]
|
|
mercredi 13 avril 2005 à 23:25:48 |
Re : Comment obliger le catch d'une exception?

tominfo
|
Pour répondre à Warny, si tu crée une méthode en java
public void fonction1() throws MonException {
// code
throw new MonException();
}
et que l'oblet client qui appelle fonction1 ne l'encadre pas d'un try
... catch MonException, y'a une erreur de compilation donc le client
est obligé de catcher l'exception.
si je crée
public void fonction1() {
// code
throw new MonException();
}
Alors j'ai une méthode qui peut jeter l'exception MonException mais le client n'est pas obliger de la catcher.
Pour répondre à Crazyht, il est vrai que fonctionnellement il n'y a pas
de raison qu'un langage te force à catcher des exceptions. Mais ce type
de codage force les clients à gérer les erreurs qui peuvent être jetées
par les méthodes. Il suffit qu'un client oublie de catcher l'exception
pour que tu te retrouve avec un bug qui arrive de temps en temps dans
ton programme (et c'est les plus durs à trouver surtout si tu as un
grand nombre de classes). Donc tu limites les bugs, tu gagnes en
stabilité pour ton programme et tu gagne du temps de débugage.
Java te laisse donc la possibilité de forcer l'objet client à catcher
l'erreur ou non en fonction des besoins et du type de méthode que tu
souhaite créer, .NET ne te permet donc pas d'imposer ce type de
restriction aux développeurs qui utilise tes classes.
Vous pouvez dire ce que vous voulez, moi je trouve ça dommage...
tom
|
|
jeudi 14 avril 2005 à 08:33:41 |
Re : Comment obliger le catch d'une exception?

Warny
|
Salut je suis aussi programmeur java.
Si tu fais
void func1() throws MyException { thow new MyException(); }
void func2() throws MyException { func1(); }
Ca passe, et tu n'a pas traité l'exception. Tu peux même faire un Throws Exception. Perso, compte tenu des capacités du dotnet en face de Java, du portage indépendant qui en est fait en opensource (mono), de la capacité à utiliser plusieurs langages différents, et surtout de l'orientation métier qui lui a été donné dès sa conception, je n'ai aucun mal à faire mon choix : dotnet.
Console.Out.WriteLine("Warny") Il y a 10 types de personnes Ceux qui comptent en binaire... et les autres
|
|
jeudi 14 avril 2005 à 14:19:46 |
Re : Comment obliger le catch d'une exception?

tominfo
|
Tu es quand même obliger de catcher l'exception quand tu appelle func1 ou func2!!
Sinon à la compil :
Main.java:34: unreported exception java.lang.Exception; must be caught or declared to be thrown
tom
|
|
Cette discussion est classée dans : cherche, objet, catch, exception, obliger
Répondre à ce message
Sujets en rapport avec ce message
Vérification de présence d'un objet com [ par coinki ]
Salut,je voudrais savoir comment faire pour verifier la présence d'un objet COM sur le poste de travail.Quand je l'exécute sur un poste qui a pas l'ob
Cloner un Objet sans utiliser son Type... [ par Bubuss ]
Salut à tous, j'ai un objet et je cherche à faire une copie par valeur de ce dernier (le cloner)Comment puis-je faire étant donné que la classe object
Redéfinition de mon exception [ par BackPack ]
Bonjour à tous,J'ai une petite question. Je sais pas si c'est parce que j'ai pasles yeux en face des trous aujourd'hui mais je n'arrive pas àfaire un
c sharp [ par verbeyst ]
Le bout de code suivant m'affiche un message erreur que je ne comprends pasle message est "value cannot be null parameter name : bytes"veuillez m'a
Utiliser méthode d'un objet dans l'objet [ par Leucistic ]
Bonjour, Je suis débutant en langage objet, et pour m'entrainer a coder, je suis en train de créer un objet.Une des methodes de cet objet necessiterai
[QUESTION] la réference d'objet n'ai pas définie a une instance d'un objet - ? [ par Theka ]
Bonjour,Voila j'essaye de me lancer dans le C# et j'obtiens le message d'erreur :" la réference d'objet n'ai pas définie a une instance d'un objet "lo
Récupérer le nom de la/des carte(s) graphique [ par snyx999 ]
Bonjour à tous,Voilà un moment que je cherche sans succès un moyen de récupérer le nom de la/des carte(s) graphique dans la machine.Mon code est en C#
Comment écrire sur une textbox de plusieurs classes? [ par therainbow3 ]
Bonsoir,J'aimerais que lorsque je rencontre une exception, j'écrive un string dans une textbox. Par exemple si une erreur survient dans la classe conn
AutoCAD: Problème sur oDoc.Utility.GetEntity [ par Difre1732 ]
Bonjour, Quand je veux récupérer l'objet entité, il me retoure que mon objet est un objet COM mais de valeur NULL, à côté de ça, il me retourne le ta
Livres en rapport
|
Derniers Blogs
MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|