java 反射 java.lang.reflect.InvocationTargetException

java 反射 java.lang.reflect.InvocationTargetException


出现这个问题,是因为我们通过反射调用某个方法时,这个方法里面有异常发生了,如果这个异常你没有进行捕获,将会由反射捕获

如我下面的一段代码片段所示

try {
			//这里通过反射执行相应的方法
			/*
			 * keyMethod:方法名
			 * configName:参数名
			 */
			Method	method=DefaultConfigurationForUtil.class.getMethod(keyMethod,String.class,String.class, ActionRequest.class,ActionResponse.class);
			method.invoke(new DefaultConfigurationForUtil(),configName,portletid,actionRequest,actionResponse);
		} catch (NoSuchMethodException | SecurityException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IllegalArgumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			// TODO Auto-generated catch block
			System.out.println("此处接收被调用方法内部未被捕获的异常");
			e.printStackTrace();
		}
			
		}
InvocationTargetException e  这个就是捕获方法体异常的

通常在捕获异常都有详细提示,请仔细查看所有的异常提示即可。


爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情Blog Img