首页

文章

java中InvocationTargetException异常的作用是什么?

发布网友 发布时间:2022-03-26 06:55

我来回答

6个回答

懂视网 时间:2022-03-26 11:16

invocationtargetexception的意思是:

  

  InvocationTargetException 是一种包装由调用方法或构造方法所抛出异常的受查异常。这个异常并不是Eclipse插件开发特有的,而是标准JDK中的,它定义在 java.lang.reflect包下。在进行Java开发的时候很少会接触到这个异常,不过在进行Eclipse插件开发中则不同,很多API都声明抛出此类异常,因此必须对此异常进行处理。

  

  

热心网友 时间:2022-03-26 08:24

InvocationTargetException 是一种包装由调用方法或构造方法所抛出异常的受查异常。这个异常并不是Eclipse插件开发特有的,而是标准JDK中的,它定义在 java.lang.reflect包下。在进行Java开发的时候很少会接触到这个异常,不过在进行Eclipse插件开发中则不同,很多API都声明抛出此类异常,因此必须对此异常进行处理。

例如,我们开发一个方法用来统一处理异常:
private static void handleException(Exception e)
{
MessageDialog.openError(Activator.getDefault().getWorkbench()
.getDisplay().getActiveShell(), "error", e.getMessage());
e.printStackTrace();
}

我们发现当传递来的参数e为InvocationTargetException 的时候弹出的对话框中的消息是空的,查看InvocationTargetException 的源码得知InvocationTargetException 并没有覆盖getMessage方法,所以消息当然是空的了。我们需要调用InvocationTargetException 的getTargetException方法得到要被包装的异常,这个异常才是真正我们需要的异常。修改代码如下所示:
private static void handleException(Exception e)
{
String msg = null;
if (e instanceof InvocationTargetException)
{
Throwable targetEx = ((InvocationTargetException) e)
.getTargetException();
if (targetEx != null)
{
msg = targetEx.getMessage();
}
} else
{
msg = e.getMessage();
}
MessageDialog.openError(Activator.getDefault().getWorkbench()
.getDisplay().getActiveShell(), "error", msg);
e.printStackTrace();
}

参考资料:http://zhidao.baidu.com/question/203108968.html

热心网友 时间:2022-03-26 09:42

0512556600说的不错,学习了,不过有个地方好像写反了,就是在处理
if (targetEx != null)
{
msg = targetEx.getMessage();
}
} else
{
msg = e.getMessage();
}

时,我觉得是写反了.

热心网友 时间:2022-03-26 11:17

页面的标签异常

热心网友 时间:2022-03-26 13:08

1,InvocationTargetException 是一种包装由调用方法或构造方法所抛出异常的受查异常。
它定义在 java.lang.reflect包下。在进行Java开发的时候很少会接触到这个异常,不过在进行Eclipse插件开发中则不同,很多API都声明抛出此类异常,因此必须对此异常进行处理。

2,例如在开发一个方法用来统一处理异常:
private static void handleException(Exception e)
{
MessageDialog.openError(Activator.getDefault().getWorkbench()
.getDisplay().getActiveShell(), "error", e.getMessage());
e.printStackTrace();
}

发现当传递来的参数e为InvocationTargetException 的时候弹出的对话框中的消息是空的,查看InvocationTargetException 的源码得知InvocationTargetException 并没有覆盖getMessage方法,所以消息当然是空的了。这时需要调用InvocationTargetException 的getTargetException方法得到要被包装的异常,这个异常才是真正需要的异常。修改代码如下所示:
private static void handleException(Exception e)
{
String msg = null;
if (e instanceof InvocationTargetException)
{
Throwable targetEx = ((InvocationTargetException) e)
.getTargetException();
if (targetEx != null)
{
msg = targetEx.getMessage();
}
} else
{
msg = e.getMessage();
}
MessageDialog.openError(Activator.getDefault().getWorkbench()
.getDisplay().getActiveShell(), "error", msg);
e.printStackTrace();
}

热心网友 时间:2022-03-26 15:16

查看一下API文档里面的介绍
2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 进出口报关流程,越详细越好。谢谢大家指教。 双线桥不是看化合价升多少就标多少的吗?为什么CL2+2KI=2KCL+I2中I失... 出师表高锰酸钾有画面了吗 2021年幼儿园新学期致家长一封信 电脑屏幕一条黑线怎么办? 销售代理商销售代理商的特点 商业代理商业代理的特征 如何看微信有没有开通微众银行 为什么微众没有开户 微众银行怎么开户 微众银行APP开户流程是什么? 唐古拉山海拔唐古拉山海拔是多少 怎么看待取消跳广场舞的人的退休金 如何选购新鲜的蓝田水柿? 恭城水柿柿树作用 创维洗衣机使用教程 创维全自动洗衣机怎么使用 自动开门器 狗羊属相婚姻相配吗 3岁的小孩不会说话怎么办 3岁孩子不会说话,应该挂什么科? 3岁小孩不会说话正常吗 鹿茸炖乌鸡怎么做? 新型冠状肺炎吃什么药可以预防 冰箱上电后一直响 食品生产许可证编号开头为“ G”。 库存过期香精 猎狐点卡平台经营范围 电影代理靠谱吗 兄弟三人,有什么好的QQ网名 租赁合同书范本简单版 invocationtargetexception是什么异常 matlab InvocationTargetException属于什么异常,是运行时异常还是编译时异常, InvocationTargetException是什么异常 小天才充电怎么使用 第六代小天才电话手表,如何充电 小天才电话手表怎么充电 小天才z5充满电是几度电 小天才电话Z5手表怎么边充电边边发信息? 小天才电话手表怎么知道充电充满 小天才z5充电要多久 小天才Z5怎么边充电边玩 小天才电话手表充不上电? 小天才z5充不了电开不了机 小天才电话手表好久没用了充电不进去 怎么回事 小天才电话手表怎么充电视频 小天才电话手表何充电? 怎么给电话手表充电? 麒麟970跑分是多少 麒麟970相当于高通多少 麒麟970处理器到底有多强,看看跑分就知道了 java.lang.reflect.invocationtargetexception 是什么异常 java.lang.reflect.InvocationTargetException这个异常什么意思 java.lang.reflect.InvocationTargetException 是什么引起的啊? 什么错误会导致该异常: java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException这个是什么错误 java.lang.reflect.InvocationTargetException是什么报错0.0怎么解决。求大神 SSH 增删改 没报错 不成功 InvocationTargetException java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException异常 java程序突然报java.lang.reflect.InvocationTargetException错误是怎么回事,以前同样的代码都没有问题? java.lang.reflect.InvocationTargetException 这个错误时什么原因导致的??怎么修改! java.lang.reflect.invocationtargetexception和数据库表空间有没有关系 红米手机越来越强 小米Max4还会发布吗? 小米max4什么时候上市 想等几个月买小米max4,可明年就出5g了要不要等max5? 电脑录屏后的视频哪里找 oppo手机录制的视频在哪里可以找到? 苹果手机录屏,录制之后点停止保存了,为什么却找不到了?内存已经占用了,视频却没有找到,在哪里找? SouL垃圾软件禁用 soul用自己网不能看视频怎么回事
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com