catch оператор не достигается из-за более раннего catch оператор для того же исключения
Этот дефект возникает, когда catch оператор не достигается, поскольку предыдущий catch оператор обрабатывает исключение.
Для образца, a catch оператор принимает объект класса my_exception и более позднюю catch оператор принимает одно из следующих значений:
Объект my_exception класс.
Объект класса, производного от my_exception класс.
Потому что catch оператор не достигается, это фактически мертвый код.
Одним из возможных исправлений является удаление избыточного catch оператор.
Другое возможное исправление состоит в том, чтобы изменить порядок catch операторы. Поместите catch оператор, который принимает исключение производного класса перед catch оператор, который принимает исключение базового класса.
| Группа: Исключение C++ |
| Язык: C++ |
| По умолчанию: On для рукописного кода, off для сгенерированного кода |
Синтаксис командной строки: EXCP_HANDLER_HIDDEN |
| Влияние: Средний |
| ИДЕНТИФИКАТОР CWE: 755 |