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

The analyzer detected an error related to the fact the instance of the exception class is created, but in doing so, is not used anyway.

Here's an example of incorrect code:

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

In this fragment, the 'throw' statement is missing, so executing this code will only result in creating an instance of a class without it being used in any way, and the exception won't be generated. The correct version of this code should look something like this:

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

This diagnostic is classified as:

CWE-390 OWASP-11.1.8

You can look at examples of errors detected by the V5303 diagnostic.