InvocationTargetException 浅析

转载 2015年07月08日 16:18:02

转自:http://blog.csdn.net/simpleit/article/details/5415066


 InvocationTargetException 异常是在 java.lang.reflect 包中,  所以该异常的产生和反射有关. 

[java] view plaincopy
  1. package org.simpleit.test;  
  2.   
  3. public class Calculator {  
  4.   
  5.     public int div(int i, int j){  
  6.         return i / j;  
  7.     }  
  8.       
  9. }  

 

   

[java] view plaincopy
  1. package org.simpleit.test;  
  2.   
  3. public class TestCalculator {  
  4.       
  5.     public void testDiv(Calculator calculator, Integer a, Integer b){  
  6.         System.out.println(calculator.div(a, b));  
  7.     }  
  8. }  

 

   

[java] view plaincopy
  1. @SuppressWarnings("unchecked")  
  2. @Test  
  3. public void testInvocationTargetException() throws Exception{  
  4.   
  5.         TestCalculator testCalculator = new TestCalculator();  
  6.     Calculator calculator = new Calculator();  
  7.           
  8.     Class clazz = TestCalculator.class;  
  9.     Method testDiv = clazz.getDeclaredMethod("testDiv", Calculator.class,   
  10.                 Integer.class, Integer.class);  
  11.     //以下代码会抛出 InvocationTargetException 异常  
  12.     testDiv.invoke(testCalculator, calculator, 120);  
  13. }  
    

    testDiv.invoke(testCalculator, calculator, 12, 0); 行代码会抛出 InvocationTargetException 异常, 但若直接

    testCalculator.testDiv(calculator, 12, 0);  则抛出的却是 java.lang.ArithmeticException 异常.

 

    结论: 在利用 Method 对象的 invoke 方法调用目标对象的方法时, 若在目标对象的方法内部抛出异常, 会抛出 InvocationTargetException 异常, 该异常包装了目标对象的方法内部抛出异常, 可以通过调用 InvocationTargetException 异常类的的 getTargetException() 方法得到原始的异常.


SSH框架整合问题,java.lang.reflect.InvocationTargetException

在做SSH项目的时候,先建好数据库表格然后反向生成了Hibernate的DAO类。 在自动生成的DAO类里面有一个方法 public List findByProperty(String prop...

InvocationTargetException(Throwable target) 报错

我的是由于给null的对象使用set方法,所以出现跳转错误。也用过网上的方法,在此转帖下,由于错误不同,以下代码没帮我解决问题   InvocationTargetException 是一种包装由...

SSH框架中点击登录出现的错误:java.lang.reflect.InvocationTargetException

做了个SSH框架的web项目,点击登录后网页中出现了下面的错误:HTTP Status 500  直接上错误代码: java.lang.reflect.InvocationTa...

tomcat异常java.lang.reflect.InvocationTargetException web.xml 2.5 3.0

十二月 04, 2014 11:12:45 上午 org.apache.catalina.core.AprLifecycleListener init 信息: The APR based Apach...
  • saife
  • saife
  • 2014年12月04日 11:14
  • 1117

启动JBoss出现“java.lang.RuntimeException: java.lang.reflect.InvocationTargetException”解决

环境 JBoss 6.0 + MyEclipse 8.6 + MySQL 5.1 + Struts 2.3 + EJB 3.0   问题 启动JBoss出现如下异常:Dispatcher initia...
  • Wentasy
  • Wentasy
  • 2013年01月06日 18:53
  • 6742

关于运行String parentId = Util.createUUID()时报错InvocationTargetException的问题

问题:运行String parentId = Util.createUUID(); 没报错,却报错。 通过关联发现Util.createUUID()是调用pub_util项目的工具类。 调用...

java.lang.reflect.InvocationTargetException

严重: End event threw exceptionjava.lang.reflect.InvocationTargetException at sun.reflect.NativeMethod...

weblogic:java.lang.reflect.InvocationTargetException

2015-02-25 07:36:25:035[ERROR]: java.lang.reflect.InvocationTargetException -CannotCreateTransaction...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:InvocationTargetException 浅析
举报原因:
原因补充:

(最多只允许输入30个字)