How to Handle a java.lang.NegativeArraySizeException in Java?
Last Updated :
16 Feb, 2024
Improve
In Java, NegativeArraySizeException is the pre-defined class that can be used to represent the unchecked exception. It is a subclass of the java.lang package, and it can be used to identify that an array was attempted to be created with a negative size, which is not allowed in Java.
In this article, we will learn how to handle a java.lang.NegativeArraySizeException in Java.
Step-by-step Implementation:
- Create the class named GfGNegativeArraySize and write the main method into the class.
- Create the try block then write the logic into that block.
- Create one variable named size and assign the value of -5.
- Now, initialize the array with the size of the previously defined.
- Write the catch block for NegativeArraySizeException with print with error statement.
- Run the program if identifies the array created with a negative size then print the error message.
Program to Handle a java.lang.NegativeArraySizeException in Java
// Java Program to handle a NegativeArraySizeException
import java.lang.Exception;
import java.lang.NegativeArraySizeException;
// Driver Class
public class GfGNegativeArraySize {
// Main Function
public static void main(String args[])
{
try {
int size = -5;
// Attempting to create an array
// With a negative size
int[] array = new int[size];
} catch (NegativeArraySizeException e)
{
// Handle the NegativeArraySizeException
System.out.println("Error: Attempted to create an array with a negative size.");
// Can add more detailed error handling or logging here if needed
}
}
}
Output
Error: Attempted to create an array with a negative size.
Explanation of the Program:
- We have created an array with a negative size.
- The attempt to create such an array throws a
NegativeArraySizeException
. - Catch this exception using a try-catch block.
- In the catch block, it handles the exception by printing an error message indicating that an attempt was made to create an array with a negative size.
- We can extend the error handling or logging within the catch block as needed for our application.