Java - NegativeArraySizeException
The NegativeArraySizeException in Java occurs when an attempt is made to create an array with a negative size. This is a runtime exception.
Following is the reason when JVM throws a NegativeArraySizeException in Java:
- When an attempt is made to create an array with a negative size, JVM throws a NegativeArraySizeException.
Methods of NegativeArraySizeException
There are some methods of NegativeArraySizeException class:
| Method | Description |
|---|---|
| getMessage() | It is used to return the message of the exception. |
| toString() | It is used to return the detail message string of the exception. |
| printStackTrace() | It is used to print the stack trace of the exception. |
Example of NegativeArraySizeException
In this example, we are creating an array with a negative size, so JVM will throw a NegativeArraySizeException.
public class NegativeArraySizeExceptionExample {
public static void main(String[] args) {
int[] arr = new int[-5];
}
}
Output
Following is the output of the above code:
Exception in thread "main" java.lang.NegativeArraySizeException at NegativeArraySizeExceptionExample.main(NegativeArraySizeExceptionExample.java:3)
As you can see in the output, JVM throws a NegativeArraySizeException because we are creating an array with a negative size.
Handling NegativeArraySizeException
In this example, we are creating an array with a negative size, so JVM will throw a NegativeArraySizeException. We are handling this exception using a try-catch block.
public class NegativeArraySizeExceptionExample {
public static void main(String[] args) {
try {
int[] arr = new int[-5];
} catch (NegativeArraySizeException e) {
System.out.println("Array size should be non-negative");
}
}
}
Output
Following is the output of the above code:
Array size should be non-negative
How to avoid NegativeArraySizeException?
To avoid a NegativeArraySizeException, you should always create an array with a non-negative size.