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 |