Remoting et Exception [Résolu]

Signaler
Messages postés
3
Date d'inscription
jeudi 29 novembre 2007
Statut
Membre
Dernière intervention
20 juillet 2009
-
Messages postés
3
Date d'inscription
jeudi 29 novembre 2007
Statut
Membre
Dernière intervention
20 juillet 2009
-
Bonjour,

Je ne comprends pas pourquoi je n'arrive pas à propager les exceptions sur le client dans un contexte .Net Remoting.

J'ai suivi MSDN
http://msdn.microsoft.com/fr-fr/library/s9fyb186(VS.80).aspx
pour l'implémentation de la classe d'exception ;

j'ai positionné <customErrors mode="Off"/> ;

Je leve l'exception par
throw new CustomRemotableException("message erreur");

Je catche (Exception ex) sur mon client , et j'obtiens inlassablement le message d'erreur

l'exception CustomRemotableException n'a pas été gérée par le code utilisateur ...

Que n'ai-je pas fait ?

Merci pour votre aide ...

4 réponses

Messages postés
3
Date d'inscription
jeudi 29 novembre 2007
Statut
Membre
Dernière intervention
20 juillet 2009

Si, si ... j'avais catché , mais sur le client ....


Et ça y est, ça marche !!!!

Je me suis, je pense emmeler les pieds, lorsque j'ai testé sur la même machine : sur le serveur, il m'a demandé de rectifier customErrors.

J'avais aussi fait une boulette dans le code de la classe d'exception

Maintenant, tout va !!

Un gros merci pour tes réponses qui m'ont remotivée ....
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
17
Ton exception doit :
Etre marquée avec l'attribut serializable
Avoir un constructeur de serialization (regarde le constructeur protected de Exception qui prend en paramètres SerializationInfo info, StreamingContext context).
Regarde l'inner exception de celle que tu catch coté client. elle ne doit pas correspondre a celle que tu lève, mais a une exception concernant l'echec de la serialisation de ton exception
Messages postés
3
Date d'inscription
jeudi 29 novembre 2007
Statut
Membre
Dernière intervention
20 juillet 2009

Merci pour ta réponse ...

J'ai repointé ma classe Exception par rapport à MSDN : elle est bien Serializable, hérite de RemotingException et implémente ISerializable; mon constructeur de sérialisation est public, pas protected ...(???)

InnerException côté client est null...

Code côté serveur :
if (oArt == null) throw new ArticleException("Article inexistant");
else
{
Et il affiche l'assistant d'erreur exception "L'exception ArticleException n'a pas été géree par le code utilisateur" sur {

Si tu as une piste .... je prends encore !
Merci
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
17
Ah d'accord. Euh donc tu n'as simplement pas catché l'exception j'imagine? Cet assistant te fait break sur Application.Run(MainForm); ?