Подтвердить что ты не робот

Предупреждение о недопустимой переменной исключения в С#

У меня есть этот код:

try {
    someMethod();
} catch (XYZException e) {
    // do something without using e
}

Выполнение этого даст мне предупреждение об объявлении, но никогда не используя e, который я ненавижу. Однако я также не хочу использовать предложение catch без этой переменной, потому что тогда он будет захватывать все исключения, а не только XYZException s. Это выглядит довольно часто. Я знаю, что могу использовать #pragma warning disable 0168 для подавления предупреждения, но на самом деле я не считаю это очень элегантным решением. Есть ли лучший способ?

4b9b3361

Ответ 1

Определите предложение catch без переменной исключения следующим образом:

try {
    someMethod();
} catch (XYZException) {
    // do something without using e
}

Ответ 2

Определите предложение catch без переменной исключения следующим образом:

try {
    someMethod();
} catch (XYZException) {
    // do not state e in catch clause
}

Ответ 3

Другой вариант - использовать

     try 
     {
          someMethod();
     } 
 #pragma warning disable 0168
     catch (XYZException e)
 #pragma warning restore 0168
     {
         // do not state e in catch clause
     }

Это полезно в visual studio 2015, потому что у него нет способа увидеть исключение по умолчанию при отладке с точкой останова на catch.