The getGenericExceptionTypes() method of java.lang.reflect.Constructor class is used to return the exception types present on this constructor object as an array. The returned array of objects represent the exceptions declared to be thrown by this constructor object. If this constructor declares no exceptions in its throws clause then this method returns an array of length 0.
Syntax:
public Type[] getGenericExceptionTypes()
Parameters: This method accepts nothing.
Return: This method returns an array of Types that represent the exception types thrown by the underlying executable.
Exception: This method throws following exceptions:
- GenericSignatureFormatError: if the generic method signature does not conform to the format specified in The Java™ Virtual Machine Specification.
- TypeNotPresentException: if the underlying executable’s throws clause refers to a non-existent type declaration.
- MalformedParameterizedTypeException: if the underlying executable’s throws clause refers to a parameterized type that cannot be instantiated for any reason.
Below programs illustrate getGenericExceptionTypes() method:
Program 1:
// Java program to illustrate // getGenericExceptionTypes() method import java.io.IOException; import java.lang.reflect.*; public class GFG { public static void main(String[] args) { // create a class object Class classObj = shape. class ; // get Constructor object // array from class object Constructor[] cons = classObj.getConstructors(); // get array of GenericExceptionTypes Type[] exceptions = cons[ 0 ].getGenericExceptionTypes(); // print length of GenericExceptionTypes array System.out.println( "GenericExceptions : " ); for ( int i = 0 ; i < exceptions.length; i++) System.out.println(exceptions[i]); } // demo class public class shape { public shape() throws IOException, ArithmeticException, ClassCastException { } } } |
GenericExceptions : class java.io.IOException class java.lang.ArithmeticException class java.lang.ClassCastException
Program 2:
// Java program to illustrate // getGenericExceptionTypes() method import java.lang.reflect.Constructor; import java.lang.reflect.Type; public class GFG { public static void main(String[] args) { // create a class object Class classObj = String. class ; // get Constructor object // array from class object Constructor[] cons = classObj.getConstructors(); // get array of GenericExceptionTypes Type[] exceptions = cons[ 0 ].getGenericExceptionTypes(); // print length of GenericExceptionTypes array System.out.println( "No of Generic Exception thrown : " + exceptions.length); } } |
No of Generic Exception thrown : 0
References: https://docs.oracle.com/javase/10/docs/api/java/lang/reflect/Constructor.html#getGenericExceptionTypes()