一、前言
关于java.lang.reflect.InvocationTargetException反射调用异常类,在类方法反射调用时java.lang.reflect.Method出现的所有异常,将被重新定义InvocationTargetException异常抛出,具体模拟异常的示例代码部分。
二、示例代码
package test;@b@@b@import java.lang.reflect.InvocationTargetException;@b@import java.lang.reflect.Method;@b@@b@public class InvocationTargetExceptionTest {@b@@b@ public static void main(String[] args) throws Exception{@b@ try {@b@ Class<?> clazz = Class.forName("java.lang.String");@b@ Method method = clazz.getMethod("charAt", int.class); @b@ //模拟反射报错@b@ method.invoke(clazz.newInstance(), -1); @b@ } catch (InvocationTargetException e) {@b@ System.out.println("我可以所有反射调用异常,这次异常具体原因是>>"+e.getCause());@b@ } @b@@b@ }@b@@b@}
控制打印结果内容
我可以所有反射调用异常,这次异常具体原因是>>java.lang.StringIndexOutOfBoundsException: String index out of range: -1