Search code examples
c#.netexceptionframeworksambiguity

The variable 'MyException' is declared but never used


I need to clear this warning :

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

The complier is telling me :

The variable 'MyException' is declared but never used

How can I fix this.


Solution

    1. You can remove it like this:

      try
      {
          doSomething()
      }
      catch (AmbiguousMatchException)
      {
          doSomethingElse()
      }
      
    2. Use warning disable like this:

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

    Other familiar warning disable

    #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.