# V5602. OWASP. The object was created but it is not being used. The 'throw' keyword could be missing.

Анализатор обнаружил потенциальную ошибку, связанную с тем, что создаётся экземпляр класса, унаследованного от 'System.Exception', но при этом никак не используется.

Пример ошибочного кода:

    public void DoSomething(int index)
    {
      if (index < 0)
        new ArgumentOutOfRangeException();
      else
      ....
    }

В данном коде пропущен оператор 'throw', из-за чего будет только создан экземпляр класса, унаследованного от 'System.Exception', но при этом он никак не будет использоваться, и исключение не будет сгенерировано. Корректный код может выглядеть следующим образом:

    public void DoSomething(int index)
    {
      if (index < 0)
        throw new ArgumentOutOfRangeException();
      else
      ....
    }

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

CWE-390 OWASP-11.1.8