81 votes

La variable 'MyException' est déclarée mais jamais utilisée

Je dois effacer cet avertissement:

  try
 {
     doSomething()
 }
 catch (AmbiguousMatchException MyException)
 {
     doSomethingElse()
 }
 

Le compliant me dit: La variable 'MyException' est déclarée mais jamais utilisée

Comment puis-je réparer cela.

158voto

Jalal Aldeen Saa'd Points 9120

1- Vous pouvez l'enlever comme ceci:

 try
 {
     doSomething()
 }
 catch (AmbiguousMatchException)
 {
     doSomethingElse()
 }
 

2- Utilisez avertissement désactiver comme ceci:

 try
 {
     doSomething()
 }
 #pragma warning disable 0168
 catch (AmbiguousMatchException exception)
 #pragma warning restore 0168
 {
     doSomethingElse()
 }
 

Autre avertissement familier désactivé

 #pragma warning disable 0168 // variable declared but not used.
#pragma warning disable 0219 // variable assigned but not used.
#pragma warning disable 0414 // private field assigned but not used.
 

44voto

Khepri Points 5790

Vous déclarez un nom pour l'exception, MyException, mais vous ne faites jamais rien avec elle. Comme il n'est pas utilisé, le compilateur le signale.

Vous pouvez simplement supprimer le nom.

 catch(AmbiguousMatchException)
{
   doSomethingElse();
}
 

29voto

fparadis2 Points 493

Vous pouvez simplement écrire:

 catch (AmbiguousMatchException)
 

et omettez le nom de l'exception si vous ne l'utilisez pas dans la clause catch.

3voto

Neil Points 1599

Vous pouvez écrire l'exception dans un journal si vous en avez une en cours d'exécution. Pourrait être utile pour dépister tous les problèmes.

 Log.Write("AmbiguousMatchException: {0}", MyException.Message);
 

2voto

Brad Points 61171

Le problème, c'est que vous n'utilisez pas votre variable MyException nulle part. Il est déclaré, mais n'est pas utilisé. Ce n'est pas un problème ... juste le compilateur vous donnant un indice si vous avez l'intention de l'utiliser.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X