`
747017186
  • 浏览: 329920 次
社区版块
存档分类
最新评论

java的InvocationTargetException异常处理

    博客分类:
  • java
 
阅读更多

前一段时间做项目的时候遇到了InvocationTargetException异常,这是个很奇怪的异常。原本通过反射去调用类里面的方法,该方法里面抛出的异常都是InvocationTargetException。这个异常的getMessage返回值为空,并没有覆写Exception的getMessage方法。所以如果要得到InvocationTargetException的这个异常信息。需要getTargetException得到这个目标异常信息。

比方说:

@Override

public String callService(String head, String body) {

// TODO Auto-generated method stub

BaseReturn baseReturn = new BaseReturn();

try {

checkInputParam(head, body);

return exec(head, body);

} catch (InvocationTargetException e) {

// TODO Auto-generated catch block

logger.error(e.getTargetException().getMessage());

baseReturn.setResultCode(Common.FAIL);// 设置错误结果码

baseReturn.setErrorInfo(e.getTargetException().getMessage());// 设置错误信息

e.printStackTrace();

} catch (Exception e) {

logger.error(e.getMessage());

baseReturn.setResultCode(Common.FAIL);// 设置错误结果码

baseReturn.setErrorInfo(e.getMessage());// 设置错误信息

e.printStackTrace();

}

return JSONObject.toJSONString(baseReturn);

}

 

以上代码这样写,可以兼容所有异常。如果抛出的是InvocationTargetException则直接捕获。如果是其他异常则让Exception 去捕获。

 

分享到:
评论

相关推荐

    解决axis2-CodegenWizardPluginBUG- java.lang.reflect.InvocationTargetException

    标题中的“解决axis2-CodegenWizardPluginBUG- java.lang.reflect.InvocationTargetException”指的是在使用Apache Axis2的CodegenWizardPlugin工具时遇到的一个错误。这个工具是Axis2框架的一部分,用于自动生成...

    axis2 InvocationTargetException

    如果方法内部抛出了异常,但没有被捕获和处理,就会导致InvocationTargetException。 3. **数据验证**:确保传入服务的方法参数有效且符合预期。无效或不匹配的数据类型可能导致运行时异常。 4. **配置检查**:...

    scrcpy投屏 AssertionError: java.lang.reflect.InvocationTargetExcep

    `AssertionError`是Java中用于断言失败的异常,而`InvocationTargetException`则是在调用方法时抛出的异常,通常与方法内部的异常处理有关。 解决这个问题的方法可能有以下几点: 1. **检查版本兼容性**:确保你的...

    java深度复制源代码

    import java.lang.reflect.InvocationTargetException; import java.sql.Timestamp; import java.util.Collection; import java.util.Date; import java.util.Map; import java.util.Map.Entry; import org.apache....

    jsp常见异常总结 希望有所帮助

    9. **java.lang.reflect.InvocationTargetException** 当调用方法时,如果被调用的方法抛出了异常,那么这个异常会被封装在这个InvocationTargetException中。在JSP中,这可能发生在使用反射API执行方法时。 10. *...

    实现RCP在线升级说明

    import java.lang.reflect.InvocationTargetException; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.List; import org.eclipse.core.runtime....

    java常见错误分析20例电子书

    11. **反射异常**:不当使用`Class.forName()`或`Method.invoke()`可能导致`ClassNotFoundException`和`InvocationTargetException`。书中会解释如何安全地使用反射。 12. **异常链**:当一个异常在处理另一个异常...

    JavaWeb程序设计入门课件BeanUtils工具共6页

    需要注意的是,BeanUtils在处理类型转换时可能会抛出异常,如`IllegalAccessException`, `InvocationTargetException`等,因此在实际使用中需要进行异常处理。 在提供的课件“JavaWeb程序设计入门课件BeanUtils工具...

    框架beanutils

    } catch (IllegalAccessException | InvocationTargetException e) { e.printStackTrace(); } ``` #### 2.2 属性获取(getProperty) 与之对应的是`getProperty()`方法,用于获取JavaBean的属性值: ```java try...

    BeanUtils工具包

    - 调用BeanUtils方法时,可能会抛出IllegalAccessException和InvocationTargetException,需要进行异常处理。 - 如果属性名不完全匹配或者类型转换失败,BeanUtils会抛出异常,因此需要确保对象属性名的正确性和类型...

    java习题练习

    - 需要捕获 `IllegalAccessException`、`NoSuchMethodException` 和 `InvocationTargetException` 异常。 - 这里假设 `Hashtable` 中存储的是 `ClassA`、`ClassB` 和 `ClassC` 类的对象,且这些类中都定义了名为 `...

    wsdl2java(Eclipse插件及使用方法)

    在使用过程中,可能会遇到`InvocationTargetException`这样的异常。通常,这表示在调用Web服务时发生了错误。以下是一些可能的解决方案: 1. **检查网络连接**: 确保你的机器能够访问Web服务所在的服务器。 2. **...

    Java工具beanutils

    4. 处理异常:在处理JavaBean属性时,BeanUtils会捕获并处理可能出现的异常,如`IllegalAccessException`和`InvocationTargetException`等,这使得代码更加简洁,降低了处理异常的复杂性。 5. 国际化支持...

    Java基础_第二阶段-day18每日作业卷1

    - **处理异常**:由于BeanUtils操作涉及反射,可能出现`IllegalAccessException`或`InvocationTargetException`等异常,需要进行捕获处理。 3. **使用示例**: - **训练案例3**:创建一个`Cat`类,包含name、age...

    java反射实现Junit3框架

    5. **处理异常**:反射调用方法时可能会抛出异常,如`IllegalAccessException`、`InvocationTargetException`等,我们需要捕获这些异常并适当地处理,通常意味着测试失败。 6. **结果报告**:在执行每个测试方法后...

    操作word的jar 最新

    5. **错误处理**:由于涉及到操作系统级别的交互,我们需要处理可能出现的异常,如`NullPointerException`、`InvocationTargetException`等。 Jacob库为Java开发者提供了一个方便的工具,使他们能够在没有Microsoft...

    最最常用的 100 个 Java类分享

    51. `java.lang.reflect.InvocationTargetException`:当调用反射方法时抛出的异常。 52. `java.util.logging.Level`:日志级别,用于控制日志输出的详细程度。 53. `java.lang.reflect.Field`:Field类代表类的...

    java反射-在form提交的一些应用

    } catch (IllegalAccessException | InvocationTargetException e) { // 处理异常... } ``` 以上就是关于“java反射-在form提交的一些应用”的主要知识点,包括如何利用反射处理表单数据、源码分析以及工具的使用...

    658.656.JAVA基础教程_反射-调用运行时类中的指定构造器(658).rar

    反射操作可能会抛出异常,如`ClassNotFoundException`,`InstantiationException`,`IllegalAccessException`和`InvocationTargetException`。在使用反射时,应该适当地捕获这些异常。 8. **实际应用** 反射在很...

Global site tag (gtag.js) - Google Analytics