Где несколько обработчиков обеспечиваются в одном операторе try-catch или функциональном блоке попытки для производного класса, и некоторые или все его основы, обработчики должны быть упорядочены наиболее выведенные базовому классу
Примечание
Используйте Bug Finder вместо Code Prover для проверки правил кодирования. Поддержка кодирования правил, регистрируясь в Code Prover будет удалена в будущем релизе. См. Вопросы совместимости.
Где несколько обработчиков обеспечиваются в одном операторе try-catch или функциональном блоке попытки для производного класса, и некоторые или все его основы, обработчики должны быть упорядочены наиболее выведенные базовому классу.
В try-catch или function-try блок, объекты исключения производного класса совпадают к обработчику с catch блоки, которые принимают базовый класс. Если вы помещаете обработчики основного класса исключений, прежде чем обработчики выведенного класса исключений, обработчик базового класса обработает и основу и исключения производного класса. Обработчик производного класса становится недостижимым кодом, который является неожиданным поведением. При использовании иерархии классов, чтобы повысить исключения, убедитесь, что обработчик производного класса предшествует обработчику базового класса.
Polyspace® отмечает блок обработчика, если он следует за обработчиком базового класса.
Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
| Группа: Обработка исключений |
| Категория: необходимый |