Ответ 1
Определите предложение catch без переменной исключения следующим образом:
try {
someMethod();
} catch (XYZException) {
// do something without using e
}
У меня есть этот код:
try {
someMethod();
} catch (XYZException e) {
// do something without using e
}
Выполнение этого даст мне предупреждение об объявлении, но никогда не используя e
, который я ненавижу. Однако я также не хочу использовать предложение catch
без этой переменной, потому что тогда он будет захватывать все исключения, а не только XYZException
s. Это выглядит довольно часто. Я знаю, что могу использовать #pragma warning disable 0168
для подавления предупреждения, но на самом деле я не считаю это очень элегантным решением. Есть ли лучший способ?
Определите предложение catch без переменной исключения следующим образом:
try {
someMethod();
} catch (XYZException) {
// do something without using e
}
Определите предложение catch без переменной исключения следующим образом:
try {
someMethod();
} catch (XYZException) {
// do not state e in catch clause
}
Другой вариант - использовать
try
{
someMethod();
}
#pragma warning disable 0168
catch (XYZException e)
#pragma warning restore 0168
{
// do not state e in catch clause
}
Это полезно в visual studio 2015, потому что у него нет способа увидеть исключение по умолчанию при отладке с точкой останова на catch.