变量'MyException'已声明但从未使用过

Was*_*RAR 66 .net c# frameworks exception ambiguity

我需要清除这个警告:

try
{
    doSomething()
}
catch (AmbiguousMatchException MyException)
{
    doSomethingElse()
}
Run Code Online (Sandbox Code Playgroud)

编者告诉我:

变量'MyException'已声明但从未使用过

我怎样才能解决这个问题.

Jal*_*aid 129

  1. 您可以像这样删除它:

    try
    {
        doSomething()
    }
    catch (AmbiguousMatchException)
    {
        doSomethingElse()
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用警告禁用如下:

    try
    {
        doSomething()
    }
    #pragma warning disable 0168
    catch (AmbiguousMatchException exception)
    #pragma warning restore 0168
    {
        doSomethingElse()
    }
    
    Run Code Online (Sandbox Code Playgroud)

其他熟悉的警告禁用

#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.
Run Code Online (Sandbox Code Playgroud)

  • 有关所有编译器错误和警告的列表,请参见[MSDN](http://msdn.microsoft.com/en-US/lrary/ms228296(v = VS.80).aspx) (4认同)

Khe*_*pri 39

您为异常MyException声明了一个名称,但是您从不对它做任何事情.由于它没有被使用,编译器会指出它.

您只需删除名称即可.

catch(AmbiguousMatchException)
{
   doSomethingElse();
}
Run Code Online (Sandbox Code Playgroud)


fpa*_*is2 25

你可以简单地写:

catch (AmbiguousMatchException)
Run Code Online (Sandbox Code Playgroud)

如果您不在catch子句中使用它,则省略异常名称.