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() 方法得到原始的异常.


InvocationTargetException异常

今天在开发时,使用反射机制调用具体的类,方法时,在方法中,我测试时抛出了一个CodeException自定义异常,但是,却被Exception catch住了,当时很疑惑,CodeException哪...
  • luxun2014
  • luxun2014
  • 2015年01月15日 22:10
  • 1345

InvocationTargetException解决。

java.lang.reflect.InvocationTargetExceptionjava.lang.NoSuchMethodError: antlr.collections.AST.getLin...
  • GoDevelop
  • GoDevelop
  • 2017年02月26日 18:46
  • 253

使用Spring 时出现InvocationTargetException

之前仅仅是培训过spring,说实话对它仅仅是对IOC,AOP概念的理解,今天开发项目时就遇到了问题。 通过向大神请教,最终明白spring中调用对象,只需要在bean配置文件中配置对象信息,然后用...
  • u013897685
  • u013897685
  • 2015年10月20日 16:52
  • 1110

InvocationTargetException原因分析

前几天碰到这个异常,当时在代码里追踪这个错误原因的时候,还真有点不知所措,不过后来还是找到了,现在有点儿空,记一下。异常全称:java.lang.reflect.InvocationTargetExc...
  • luoduyu
  • luoduyu
  • 2006年12月15日 11:51
  • 119116

SSH整合时出现的InvocationTargetException问题及实例讲解

今天参考师兄的一个项目来做了一下SSH整合的实验,不过师兄用的是注解的方式,由于本人水平有限,还是用配置文件来的,然后一不留神就出现了下面的问题: 先说明一下实验项目的分层:实体Po、接口Dao、接...
  • Mr_Tank_
  • Mr_Tank_
  • 2013年04月17日 21:16
  • 2187

报异常抛出InvocationTargetException的解决方法

通常抛出InvocationTargetException 是NullPointerException  查看异常具体方法:   将鼠标放到catch 中的Exception ex 上 查看targe...
  • zhang_xin_new
  • zhang_xin_new
  • 2017年07月08日 17:46
  • 990

hibernate InvocationTargetException 这个异常的处理

这个异常很简单  就是  内存溢出     解决方法  注意关闭session      这是我的代码     public synchronized List query(String hql, S...
  • sun_zhicheng
  • sun_zhicheng
  • 2009年07月28日 16:26
  • 1203

转: Java反射异常处理之InvocationTargetException

转自:http://blog.csdn.net/zhangzeyuaaa/article/details/39611467             ...
  • zp357252539
  • zp357252539
  • 2017年11月19日 11:06
  • 110

InvocationTargetException导致NullPointerException

这几天在做二次开发,以前不知道谁写的项目。据说是交大的学生.....偶就不说什么了,因为人家文凭比我高很多,还是名校。1728行的Action不见一行中文,确切的来讲,是不见一个汉字。让二次开发情何以...
  • enterys
  • enterys
  • 2012年05月10日 16:24
  • 9406

利用EjbProxy

利用EjbProxy调用远程EJB的一个简单有效的class摘要:这个技巧告诉你如何利用EjbProxy,它提供了一些事例,调用远程EJB并不是直接与你的代码接合执行一个特殊的EJB。By Gorse...
  • biggie
  • biggie
  • 2003年07月24日 16:16
  • 1513
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:InvocationTargetException 浅析
举报原因:
原因补充:

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