V7031. Suspicious label was found inside a 'switch' statement. This may be a typo, and another label was intended instead.
Анализатор обнаружил внутри инструкции switch метку, которая отлична от клауз case или default. Скорее всего, это опечатка, из-за которой нужная ветка никогда не выполнится.
Рассмотрим пример:
switch (status) {
case 1:
handleActive();
break;
case 2:
handlePending();
break;
defalt:
handleUnknown();
break;
}
На первый взгляд кажется, что при любом значении status, не равном 1 или 2, будет вызван метод handleUnknown. Но на самом деле этого не произойдёт: defalt — это обычная метка, а не клауза default. Вызов handleUnknown недостижим ни при каком значении status.
Исправленный вариант:
switch (status) {
case 1:
handleActive();
break;
case 2:
handlePending();
break;
default:
handleUnknown();
break;
}