當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java java.lang.reflect.Constructor.getGenericExceptionTypes()用法及代碼示例



描述

這個java.lang.reflect.Constructor.getGenericExceptionTypes()方法返回一個 Type 對象數組,這些對象表示聲明為由此 Constructor 對象拋出的異常。如果底層方法在它的 throws 子句中沒有聲明任何異常,則返回一個長度為 0 的數組。

聲明

以下是聲明java.lang.reflect.Constructor.getGenericExceptionTypes()方法。

public Type[] getGenericExceptionTypes()

返回

表示底層方法拋出的異常類型的 Type 數組。

異常

  • GenericSignatureFormatError- 如果泛型方法簽名不符合 Java 虛擬機規範中指定的格式。

  • TypeNotPresentException- 如果底層方法的 throws 子句引用不存在的類型聲明。

  • MalformedParameterizedTypeException- 如果底層方法的 throws 子句引用了由於任何原因無法實例化的參數化類型。

示例

下麵的例子展示了 java.lang.reflect.Constructor.getGenericExceptionTypes() 方法的用法。

現場演示
package com.tutorialspoint;

import java.lang.reflect.Constructor;
import java.lang.reflect.Type;

public class ConstructorDemo {

   public static void main(String[] args) {

      Constructor[] constructors = SampleClass.class.getConstructors();
      Type[] exceptions = constructors[0].getGenericExceptionTypes();
      for (int i = 0; i < exceptions.length; i++) {
         System.out.println(exceptions[i]);
      }
   }
}

class SampleClass {
   private String sampleField;

   public SampleClass() throws ArrayIndexOutOfBoundsException {
   }

   public SampleClass(String sampleField){
      this.sampleField = sampleField;
   }

   public String getSampleField() {
      return sampleField;
   }

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

讓我們編譯並運行上麵的程序,這將產生以下結果 -

class java.lang.ArrayIndexOutOfBoundsException

相關用法


注:本文由純淨天空篩選整理自 java.lang.reflect.Constructor.getGenericExceptionTypes() Method Example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。