The variable 'MyException' is declared but never used

前端 未结 6 1952
迷失自我
迷失自我 2020-12-05 09:36

I need to clear this warning :

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

The complier

相关标签:
6条回答
  • 2020-12-05 09:45

    You can simply write:

    catch (AmbiguousMatchException)
    

    and omit the exception name if you won't be using it in the catch clause.

    0 讨论(0)
  • 2020-12-05 09:46
    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.
    
    0 讨论(0)
  • 2020-12-05 09:49

    You declare a name for the exception, MyException, but you never do anything with it. Since it's not used, the compiler points it out.

    You can simply remove the name.

    catch(AmbiguousMatchException)
    {
       doSomethingElse();
    }
    
    0 讨论(0)
  • 2020-12-05 09:56

    The trouble is, you aren't using your variable MyException anywhere. It gets declared, but isn't used. This isn't a problem... just the compiler giving you a hint in case you intended to use it.

    0 讨论(0)
  • 2020-12-05 09:58

    but never used means that you should use it after catch() such as writing its value to console, then this warning message will disappear.

    catch (AmbiguousMatchException MyException)
    {
        Console.WriteLine(MyException); // use it here
    }
    
    0 讨论(0)
  • 2020-12-05 10:05

    You could write the exception out to a log if you've got one running. Might be useful for tracking down any problems.

    Log.Write("AmbiguousMatchException: {0}", MyException.Message);
    
    0 讨论(0)
提交回复
热议问题