Переменная 'MyException' объявлена, но никогда не используется


Мне нужно очистить это предупреждение:

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

компилятор говорит мне :

переменная 'MyException' объявлена, но никогда не используется

Как я могу исправить это.

5 59

5 ответов:

  1. вы можете удалить его, как это:

    try
    {
        doSomething()
    }
    catch (AmbiguousMatchException)
    {
        doSomethingElse()
    }
    
  2. использовать предупреждение отключить следующим образом:

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

другое знакомое предупреждение отключить

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

вы объявляете имя для исключения, MyException, но вы никогда ничего не делаете с ним. Поскольку он не используется, компилятор указывает на это.

вы можете просто удалить имя.

catch(AmbiguousMatchException)
{
   doSomethingElse();
}

вы можете просто написать:

catch (AmbiguousMatchException)

и опустите имя исключения, если вы не будете использовать его в предложении catch.

проблема в том, что вы не используете переменную MyException в любом месте. Он объявляется, но не используется. Это не проблема... просто компилятор дает вам подсказку в случае, если вы хотели использовать его.

вы можете записать исключение в журнал, если у вас есть один работает. Может быть полезно для отслеживания любых проблем.

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