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

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

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

Сложный мне расскажет:

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

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

Ответ 1

  • Вы можете удалить его следующим образом:

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

    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.

Ответ 2

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

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

catch(AmbiguousMatchException)
{
   doSomethingElse();
}

Ответ 3

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

catch (AmbiguousMatchException)

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

Ответ 4

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

Ответ 5

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

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