# V596. Object was created but is not used. Check for missing 'throw' keyword.

Анализатор обнаружил потенциальную ошибку, связанную с использованием класса std::exception или наследуемого от него класса. Анализатор выдает предупреждение в том случае, если создается объект типа std::exception / CException, но не используется.

Пример:

    if (name.empty())
      std::logic_error("Name mustn't be empty");

Ошибка заключается в том, что случайно забыто ключевое слово 'throw'. В результате данный код не генерирует исключение в случае ошибочной ситуации. Исправленный вариант кода:

    if (name.empty())
      throw std::logic_error("Name mustn't be empty");

Данная диагностика классифицируется как:

CWE-390 CERT-MSC13-C

Взгляните на примеры ошибок, обнаруженных с помощью диагностики V596.