Bonjour,
je souhaiterais recuperer les exceptions lancées pour les afficher dans un textBox par la suite. Je cherche une solution la plus courte possible ...
Version imprimable
Bonjour,
je souhaiterais recuperer les exceptions lancées pour les afficher dans un textBox par la suite. Je cherche une solution la plus courte possible ...
...Code:
1
2
3
4
5
6
7
8
9 try { ... } catch(Exception ex) { textBox1.text = ex.ToString(); }
merci mais je pensais recuperer à partir d'un throw explicitement lancé
par exemple,
comment avoir le throw dans une variable et pas dans la console ?Code:
1
2
3
4
5
6
7
8
9
10
11 publicint isDomain(string typeName) {// foreach (Assembly assembly inAppDomain.CurrentDomain.GetAssemblies()) foreach (Type type in assembly.GetTypes()) if ((type.Name == typeName) || (type.FullName == typeName)) return 1; throw new ArgumentException(String.Format("Type '{0}' unknown !", typeName), "typeName"); return 0; }//
Ca ne change rien. Faire un throw sert à lever une exception qui sera rattrapée par un bloc try/catch. C'est la seule manière de récupérer une exception.
merci ça doit être comme ceci alors
Code:
1
2
3
4
5
6
7
8 try { throw new ArgumentException(String.Format("Type '{0}' unknown !", typeName), "typeName"); } catch(Exception ex) { textBox1.text = ex.ToString(); }
Oulala qu'est-ce que c'est que ça ?Citation:
Envoyé par zulad
Que veux-tu faire exactement, et qu'est-ce qui ne va pas avec le code donné par smyley ?
le code de smyley est ok. Mon problème c'est que je lance une exception dans un test que je voudrais recuperer depuis le throw.
peut être
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Exception lastException = null; public virtual Exception LastException { get { return lastException; } } public virtual int isDomain(...) { ... lastException = new ArgumentException(String.Format("Type '{0}' unknown !", typeName), "typeName"); ... }
(je suis pas sur d'avoir tout compris a ce que tu veux...)Citation:
Envoyé par zulad
Quand tu créer ton throw, tu voudrais garder l'exception du test?
Chaque Exception contient une InnerException : tu peux y placer l'Exception interceptée pour créer ta nouvelle.
Pour les lister, tu vérifies pour l'exception que sa Inner n'est pas null puis tu y accèdes.. Sachant qu'elle meme a une InnerException,... etc.