javainvoke异常

java.lang.reflect.InvocationTargetException

这个异常,一般是由于调用Mathod类的invoke()方法,该方法所代表的指定方法抛出异常时,或者调用Constructor类的newInstance()方法,该方法所代表的底层构造方法抛出异常时,由java.lang.reflect.InvocationTargetExceptio异常包装后作为新的异常抛出而产生,默认异常信息是NULL。

所以我怀疑是使用反射的方式调用构造函数时,由于数据或者其他问题造成了构造方法抛出异常,以InvocationTargetException异常的方式显示出来。

问题出在:

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

仔细检查一下,应该能解决

javainvoke异常

java 中 invoke()的作用是什么?

invoke(调用)就是调用Method类代表的方法。可以实现动态调用,例如可以动态的传人参数,可以把方法参数化。

可以把方法参数化invoke(class, method),比如Test类里有一系列名字相似的方法setValue1、setValue2等等,可以把方法名存进数组v[],然后循环里invoke(test,v[i]),就顺序调用了全部setValue。

此外,invoke()对带有指定参数的指定对象调用,个别参数被自动解包,与基本形参相匹配,基本参数和引用参数都随需服从方法调用转换。如下

public Object invoke(Object obj,Object… args)

throws IllegalAccessException,

IllegalArgumentException,

InvocationTargetException

如果底层方法是静态的,那么可以忽略指定的 obj 参数。该参数可以为 null。

如果底层方法所需的形参数为 0,则所提供的 args 数组长度可以为 0 或 null。

如果底层方法是实例方法,则使用动态方法查找来调用它,这一点记录在 Java Language Specification, Second Edition 的第 15.12.4.4 节中;在发生基于目标对象的运行时类型的重写时更应该这样做。

如果底层方法是静态的,并且尚未初始化声明此方法的类,则会将其初始化。

如果方法正常完成,则将该方法返回的值返回给调用者;如果该值为基本类型,则首先适当地将其包装在对象中。但是,如果该值的类型为一组基本类型,则数组元素不 被包装在对象中;换句话说,将返回基本类型的数组。如果底层方法返回类型为 void,则该调用返回 null。

扩展资料:

语言特点

1.简单性

Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。

2.分布性

Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。

网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行。

3.编译和解释性

Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。

参考资料来源:oracle官网——Class Method( invoke()见底部)

java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor1803.invoke(Unkno

这个异常,一般是由于调用Mathod类的invoke()方法,该方法所代表的指定方法抛出异常时,或者调用Constructor类的newInstance()方法,该方法所代表的底层构造方法抛出异常时,由java.lang.reflect.InvocationTargetExceptio异常包装后作为新的异常抛出而产生,默认异常信息是NULL。

所以我怀疑是使用反射的方式调用构造函数时,由于数据或者其他问题造成了构造方法抛出异常,以InvocationTargetException异常的方式显示出来。

问题出在:

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

仔细检查一下,应该能解决

java使用invoke调用方法卡住

网络问题。java使用invoke调用方法卡住是网络问题,可重新设置网络。网络故障是指硬件的问题、软件的漏洞、病毒的侵入等可以引起网络的故障。

java.lang.reflect.InvocationTargetException这个异常什么意思

InvocationTargetException异常由Method.invoke(obj, args…)方法抛出。当被调用的方法的内部抛出了异常而没有被捕获时,将由此异常接收。

至于具体原因,就要看代码和详细的错误信息了。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月24日 13:56:31
下一篇 2024年3月24日 14:02:44

相关推荐

  • java文件异常处理,java异常处理常见问题

    JAVA语言如何进行异常处理? 1、Java语言提供两种异常处理机制:捕获异常和声明抛弃异常。捕获异常:(1)在Java程序运行过程中系统得到一个异常对象是,它将会沿着方法的调用栈逐层回溯,寻找处理这一异常的代码。 2、你同样可以使用Java7的新功能,以移除重复项。 3、异常处理就是捕捉可能在运行时被抛出的异常事件的一项技术。Java通过try-catch…

    2024年5月23日
    5300
  • java多线程异常,java多线程synchronized

    Java多线程问题总结? 多线程程序都是并发处理的。如果CPU只有一个,那么并发处理就是顺序执行的,而如果有多个CPU,那么并发处理就可能会并行运行。等待队列 所有实例都拥有一个等待队列,它是在实例的wait方法执行后停止操作的线程队列。 多进程——在操作系统中,能同时运行多个任务(程序)。多线程——在同一应用程序中,有多个顺序流同时执行。 多线程和高并发是…

    2024年5月22日
    4000
  • 关于javamvc异常处理的信息

    Java开发都需要学习什么 1、java开发学什么?一起来了解一下吧。需要学习的技术:微服务技术:微服务架构主要有:Spring Cloud、 Dubbo、 Dubbox等,以 Dubbo占比最高,可达26%。 2、Java开发需要学习以下核心知识:Java基础:了解Java的基本语法、数据类型、控制流程、数组、字符串等基础概念。学习面向对象编程(OOP)的…

    2024年5月22日
    3200
  • java异常继承,java异常继续执行

    java所有的异常类皆继承哪一个类 所有的异常类都是从java.lang.Exception类继承的子类。根据查询相关资料信息显示,.java.lang.Throwable是java.lang.Exception的父类,所有的类都继承了Throwable个类。 个人认为你的答案是错误的,因为.java.lang.throwable是java.lang.exc…

    2024年5月22日
    4200
  • java金额大写,java数字转大写,其他报异常

    Java金额的中文大写方式 1、这个API应该没有的,好像只能直接翻译,你试试用两个计数器(递增),两个for循环,一个从左边开始计数,一个从右边开始计数。(为了转换“元角分”),再把记下的数字大小对应,这个方法不难,你试试。 2、数字转换为大写是什么意思,把1转换成壹吗。 java实现金额转换,阿拉伯数字的金额转换成中国传统的形式String chinaM…

    2024年5月20日
    4300
  • java的异常类分为哪两种,java中异常的分类及其概念

    java系统不认为的异常有哪些? OutOfMemoryException – 内存不足,通常发生于创建对象之时。1NoClassDefFoundException – JAVA运行时系统找不到所引用的类。1IncompatibleTypeException – 试图实例化一个接口,Java运行时系统将抛出这个异常。 甚至…

    2024年5月19日
    4300
  • java异常继承图,JAVA继承的好处

    请问这两个java类图怎么看,里面的箭头哪个表示继承,哪个表示关联,关联… https:// 如果你需要有偿辅导服务的话,也可以私信我。 泛化/继承(Generalization):实线+三角形空心 相当于类继承,父参与者可以是抽象的,即不能创建一个父参与者的直接实例,这就要求属于抽象父参与者的外部对象一定能够属于其子参与者之一。 在Java中继…

    2024年5月18日
    4200
  • java多线程异常处理,java多线程yield

    关于java多线程的… 1、在 Java 中,线程(Thread)是指程序执行的一条路径,是进程中的一个实体。Java 中的线程是轻量级的,可以同时运行多个线程,这就是多线程(Multithreading)。 2、有其他线程的notify方法来唤醒线程 有其他线程的notifyAll方法来唤醒线程 有其他线程的interrupt方法来唤醒线程 w…

    2024年5月18日
    8000
  • java错误消耗内存,java内存异常

    Java内存不足或错误? 使用 64 位 Java 虚拟机:64 位 Java 虚拟机具有更大的可用内存,因此可以使用它来避免内存不足的问题。 服务器上物理内存太小,大部分都是应为程序太多,内存吃紧,而给jvm分配的内存太大,导致java的内存不够,(java程序启动需要的内存,linux不能给),最好调整java程序jvm内存吧(测试环境下)。 主要是手机…

    2024年5月18日
    3400
  • linux下nohup命令进程异常,linux no such process

    linux定时清理nohup命令下产生的日志 1、nohup命令的缺点:日志文件文件越来越大,占内存且查看麻烦。因为这个日志文件和程序是共生死的,因为只要程序运行起来,就一直对log文件进行读写,直接删除XXX.log会导致程序也被结束了。 2、nohup(no hang up):可以让程序不挂断执行。& :可以让程序在后台执行。“ nohup.lo…

    2024年5月17日
    5600

发表回复

登录后才能评论



关注微信