java.lang.reflect.Method.getGenericExceptionTypes() Method Example



The java.lang.reflect.Method.getGenericExceptionTypes() method returns an array of Type objects that represent the exceptions declared to be thrown by this Method object. Returns an array of length 0 if the underlying method declares no exceptions in its throws clause.


Following is the declaration for java.lang.reflect.Method.getGenericExceptionTypes() method.

public Type[] getGenericExceptionTypes()


an array of Types that represent the exception types thrown by the underlying method.


  • GenericSignatureFormatError − if the generic method signature does not conform to the format specified in The Java Virtual Machine Specification.

  • TypeNotPresentException − if the underlying method's throws clause refers to a non-existent type declaration.

  • MalformedParameterizedTypeException − if the underlying method's throws clause refers to a parameterized type that cannot be instantiated for any reason.


The following example shows the usage of java.lang.reflect.Method.getGenericExceptionTypes() method.

Live Demo
package com.tutorialspoint;

import java.lang.reflect.Method;
import java.lang.reflect.Type;

public class MethodDemo {

   public static void main(String[] args) {

      Method[] methods = SampleClass.class.getMethods();
      Type[] exceptions = methods[0].getGenericExceptionTypes();
      for (int i = 0; i < exceptions.length; i++) {

class SampleClass {
   private String sampleField;

   public String getSampleField() throws ArrayIndexOutOfBoundsException {
      return sampleField;

   public void setSampleField(String sampleField) {
      this.sampleField = sampleField; 

Let us compile and run the above program, this will produce the following result −

class java.lang.ArrayIndexOutOfBoundsException