捕获反射调用时产生的异常

原创 2006年05月29日 15:49:00
 使用反射时如果被反射对象内部发生异常时通常的捕获异常语句及参数,不能截获其中的异常:

try
{
//反射操作
}
catch(System.Exception ex)
{
....
}

因为此时的异常类型已经不是System.Exception 类型,而是System.Reflection.TargetInvocationException 类型

try
{
//反射操作
}
catch(System.Reflection.TargetInvocationException ex)
{
....
throw ex.InnerException;
}


    这是MSDN中的相关信息:
创建 TargetInvocationException 后,向其传递对通过反映调用的方法所引发的异常的引用。InnerException 属性保存基础异常。

也就是说只要取到这个异常的InnerException属性,就是你要处理的那个异常。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

[JAVA]运用反射机制,抛出的异常的捕获方法

背景介绍笔者前些日子做过一个这样的事情,利用反射机制调用一个会报Checked的异常的方法,在调用后没法抛出异常(原因是反射机制调用是没法catch到Checked异常的)。举个简单的例子如下。 1...

6.2判断一个数能否被3整除,如果不能整除就抛出一个异常,并让其调用方法来捕获,显示相应的处理信息

摩尔的Java学习笔记6.2 判断一个数能否被3整除,如果不能整除就抛出一个异常,并让其调用方法来捕获,显示相应的处理信息;

利用反射原理调用方法抛出异常:argument type mismatch

起因:自己弄得一个购物网站,这几个封装类都能显示正确的数值,唯独价格这里是double的默认值,说明用反射塞值出了错误。 查看代码:发现错误的原因在这里,给double类型的price设值得时候会报...

反射调用主方法异常解决

利用Java反射机制去调用其他类的main方法基于这种情形:      当程序中的某个类在运行到某处需要去调用其他类的main方法时,如果此程序并不知道此main方法所属类的名称,而只是在程序中接受某...

Object-C基础(10)——异常处理、反射、动态调用方法与内存回收

Object-C的异常处理      Object-C的异常处理,通常不会作为常规的编程手段,很多时候只是作为程序调试的手段。      语法      @try  ...

Swift 读取本地json文件时的异常捕获(try catch)的使用

Swift 读取本地json文件时的异常捕获(try catch)的使用 // 1.获取文件路径 let path = NSBundle.mainBundle().pathForRe...

使用UncaughtExceptionHandler捕获运行时异常

前面我们知道Exceptions分为可检查异常(checked exceptions)和运行时异常(runtime exception)。具体参照文章Java异常处理手册和最佳实践,对于可检查异常,我...

Java编程时主线程如何捕获子线程抛出的异常

原文地址:http://www.osedu.net/article/java/2011-08-18/234.html Java编程时主线程如何捕获子线程抛出的异常 这么来看待这个问题。...

Android小技巧(一):实现捕获应用的运行时异常

转载请注明出处!本博客地址:http://blog.csdn.net/mylzc 由于Android设备各异,第三方定制的Android系统也非常多,我们不可能对所有的设备场景都进行测试,因而开...
  • mylzc
  • mylzc
  • 2011-09-18 00:44
  • 9545

ios 程序崩溃时捕获到异常信息

iOS开发中遇到程序崩溃是很正常的事情,如何在程序崩溃时捕获到异常信息并通知开发者,是大多数软件都选择的方法。下面就介绍如何在iOS中实现: 1. 在程序启动时加上一个异常捕获监听,用来处理程序...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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