Мне нужно очистить это предупреждение:
try { doSomething() } catch (AmbiguousMatchException MyException) { doSomethingElse() }
Компилятор говорит мне:
Переменная MyException объявлена, но никогда не используется
Как мне это исправить.
Вы можете удалить это так:
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.
Вы объявляете имя для исключения, MyException, но вы ничего не делаете с ним.Поскольку он не используется, компилятор указывает на это.
Вы можете просто удалить имя.
catch(AmbiguousMatchException) { doSomethingElse(); }
Вы можете просто написать:
catch (AmbiguousMatchException)
и опустить имя исключения, если оно не будет использоваться в предложении catch.
Вы можете записать исключение в журнал, если он запущен. Может быть полезно для отслеживания любых проблем.
Log.Write("AmbiguousMatchException: {0}", MyException.Message);
Проблема в том, что вы нигде не используете свою переменную MyException.Это объявлено, но не используется.Это не проблема ... просто компилятор дает подсказку на случай, если вы намеревались его использовать.
MyException
but never used означает, что вы должны использовать его после catch (), например, для записи его значения в консоль, тогда это предупреждающее сообщение исчезнет.
but never used
catch (AmbiguousMatchException MyException) { Console.WriteLine(MyException); // use it here }