Je dois effacer cet avertissement:
try
{
doSomething()
}
catch (AmbiguousMatchException MyException)
{
doSomethingElse()
}
Le compilateur me dit:
Comment puis-je réparer cela.
How can I fix this.
Vous pouvez l'enlever comme ceci:
try
{
doSomething()
}
catch (AmbiguousMatchException)
{
doSomethingElse()
}
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.
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();
}
Vous pouvez simplement écrire:
catch (AmbiguousMatchException)
et omettez le nom de l'exception si vous ne l'utilisez pas dans la clause catch.
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);
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 au cas où vous auriez l'intention de l'utiliser.
but never used
signifie que vous devriez l'utiliser après catch (), par exemple pour écrire sa valeur sur la console, ce message d'avertissement disparaîtra.
catch (AmbiguousMatchException MyException)
{
Console.WriteLine(MyException); // use it here
}