永发信息网

java.lang.reflect.invocationtargetexception和数据库表空间有没有关系

答案:2  悬赏:70  手机版
解决时间 2021-01-26 02:54
java.lang.reflect.invocationtargetexception和数据库表空间有没有关系
最佳答案
和数据库表空间没有关系

InvocationTargetException异常由Method.invoke(obj, args...)方法抛出。当被调用的方法的内部抛出了异常而没有被捕获时,将由此异常接收。
示例:
[java] view plain copy print?
package com.zzj.test.reflect;

public class Reflect {
public void run(int i) throws ZeroException {
B b = new B();
b.run(i);
}
}

class B {
public void run(int i) throws ZeroException {
if (i < 0) {
throw new ZeroException("参数不能小于零!");
}
System.out.println("参数:" + i);

}
}

class ZeroException extends Exception {
private static final long serialVersionUID = 1L;

private String detailMessage;

public ZeroException(String detailMessage) {
this.detailMessage = detailMessage;
}

public String getMessage() {
return detailMessage;
}
}
测试:
[java] view plain copy print?
package com.zzj.test.reflect;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class Test {
public static void main(String[] args) {
try {
Class clazz = Class.forName("com.zzj.test.reflect.Reflect");
Method method = clazz.getMethod("run", int.class);
method.invoke(clazz.newInstance(), -1);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
System.out.println("此处接收被调用方法内部未被捕获的异常");
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
}
}
}
输出:
[plain] view plain copy print?
此处接收被调用方法内部未被捕获的异常
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.zzj.test.reflect.Test.main(Test.java:11)
Caused by: com.zzj.test.reflect.ZeroException: 参数不能小于零!
at com.zzj.test.reflect.B.run(Reflect.java:13)
at com.zzj.test.reflect.Reflect.run(Reflect.java:6)
... 5 more
也可以直接打印目标异常:
[java] view plain copy print?
package com.zzj.test.reflect;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class Test {
public static void main(String[] args) {
try {
Class clazz = Class.forName("com.zzj.test.reflect.Reflect");
Method method = clazz.getMethod("run", int.class);
method.invoke(clazz.newInstance(), -1);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
System.out.println("此处接收被调用方法内部未被捕获的异常");
Throwable t = e.getTargetException();// 获取目标异常
t.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
}
}
}
输出:
[plain] view plain copy print?
此处接收被调用方法内部未被捕获的异常
com.zzj.test.reflect.ZeroException: 参数不能小于零!
at com.zzj.test.reflect.B.run(Reflect.java:13)
at com.zzj.test.reflect.Reflect.run(Reflect.java:6)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.zzj.test.reflect.Test.main(Test.java:11)
全部回答
(转)这个异常,一般是由于调用mathod类的invoke()方法,该方法所代表的指定方法抛出异常时,或者调用constructor类的newinstance()方法,该方法所代表的底层构造方法抛出异常时,由java.lang.reflect.invocationtargetexceptio异常包装后作为新的异常抛出而产生,默认异常信息是null。 所以我怀疑是当监控线程增多时,使用反射的方式调用构造函数,由于数据或者其他问题造成了构造方法抛出异常,以invocationtargetexception异常的方式显示出来。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
萌宠宝贝抱回家,怎么还没更新
力锜口腔门诊部地址有知道的么?有点事想过去
女主在事业上很有成就的小说 现代的
求《后天》观后感英文版
【烹饪怎么读】烹饪这个词怎么读?
为什么我的键盘按w只会上下移动?
1998年1月21日出生应该属什么属相?
我想把自己写的长篇小说出成书,是不是找出版
长脸型适合什么样的发型 男神为你亲自示范
新更新的系统,经常出现图标变黑,桌面上的软
厦门湖里铭鑫口腔门诊部地址好找么,我有些事
鼎运达物流地址在哪,我要去那里办事
【disregard】disregard和ignore和neglect的
CBA2017年34轮排名
为什么汽车的价格区间会有那么大?
推荐资讯
力的单位是牛顿,为什么张力单位是千克?
ZYR的miss you歌词
QQ炫舞为什么有些人脚下有云
在eclipse能运行的java程序为什么在dos下运行
猫武士大家认为画眉毛,斑叶,羽尾,蜜蕨,枫
右图中正方形的面积是20平方厘米,阴影部分的
有用孝母做馒头加碱怎么加
通辽到上海高速有多少收费站
想死怎么办,一生悲哀,好想找我哥哥,怎么办
一个男人喝酒之后用很灼烈的眼神看着你,这是
1997年1月1日是星期三,7月1日是A.星期三B.星
沈阳151公交什么时候回到观泉苑
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?