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
// 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.