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

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

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

    int checkIndex(int index)
    {
      if (index < 0)
        new IndexOutOfBoundsException("Index Out Of Bounds!!!");
      return index;
    }

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

    int checkIndex(int index)
    {
      if (index < 0)
        throw new IndexOutOfBoundsException("Index Out Of Bounds!!!");
      return index;
    }

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

CWE-390 OWASP-11.1.8

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