十四中常见异常详解---

私人整理 不得抄袭

1 Caused by: org.apache.ibatis.executor.ExecutorException: Executor was closed.

查询代码发现,由于代码中创建的sqlsession是定义在了一个util类中,并且每个方法查询后都会执行session.commit(); ?? session.close(); 并且sqlsession的创建是在该类加载时进行创建的,因此在一次查询完成后,这个session就关闭了,那么第二次调用方法时就已经没有对应的session了。

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

3 java.lang.NullPointerException具体意思是空指针异常,最常见的问题就是没有初始化。

字符串等数据类型没有初始化
类实例(对象)有用具体的类初始化
没有判断是否为空

4 java.lang.IllegalStateException :
public class IllegalStateException extends RuntimeException
父类:IllegalComponentStateException
在不合理或不正确时间内唤醒一方法时出现的异常信息。换句话说,即 Java 环境或 Java 应用不满足请求操作。

5 NumberFormatException: 数据类型转换异常
这句话明确告诉了我们是数字格式异常,接着后面有 For input string: "xx " 提示,这就告诉我们你当前想把 "xx " 转换成数字类型时出错了,这样就很确切了。

6 NoSuchFieldException:
有时候使用反射进行Field相关操作的时候会出现这样异常,一般原因有两种:

1.本身就没有该Field;

2.有该Field,但是该Field是使用private修饰的,而在获取该Field的时候,需要使用getDeclaredField这个方法。

7 NoSuchMetodException:

第一种:Action 类的方法被定义成 private 类型.

Action 中被访问的方法被定义成 private 类型.程序在访问其方法时,会抛出以上异常。

第二种:Action 类继承了 ActionSupport 类时 程序在访问其方法时,也会抛出上述异常。

第三种:类中的方法名字和struts.xml文件中配置的名字不符。

8 FileNotFoundException
经过多方资料的对比,在设置spring配置文件时,建议使用classpath*而不是classpath貌似会因为这个问题报错,我暂时没有遇到过
在配置文件wen.xml中使用配置contextConfigLocation变量,我就是犯了这个错误
配置文件名一定要写写对,这种属于最低级也是最容易忽略的错误

9 java.lang.IllegalStateException无效状态异常

Cannot convert value of type ‘com.jt.sys.dao.impl.SysConfigDaoImpl’ to required
type ‘com.jt.sys.dao.SysConfigDao’ for property ‘SysConfigDao’: no matching editors

or conversion strategy found、

意思是说com.jt.sys.dao.impl.SysConfigDaoImpl不能赋值给com.jt.sys.dao.SysConfigDao,应该SysConfigDaoImpl实现接口SysConfigDao,这样才可以赋值。

问题:
10 org.springframework.jdbc.BadSqlGrammarException:

Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.M

问题原因:
查询数据库错误,经检查我的sql查询语句中的字段名写错了。

11 dubbo.rpc.RpcException异常:
最后经过研究 .rpc.RpcException: 大部分都是因为 没有找到DUBBO你要调用的功能

12 IDEA: 遇到问题Error during artifact deployment. See server log for details.详解

这个一般代码错了:

除了看 server 的报错,别忘了看看 tomcat localhost Log 日志文件啊!

比如我这里是新增实体类,但是没有在 application-hibernate 添加记录,所有报错了!

13 Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named ‘sex’:这个错误是因为数据库表里面有某个字段,而对应的pojo类却没有对应的字段。

导致发射查找的时候,找不到对应的字段。

14 Caused by: com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method subscribe in the service com.alibab:远程调用失败问题:
解决方法

这个是由于dubbo接口中的的传输对象没有被序列化而导致的,只需要要检查dubbo接口中参数中的实体类实现序列化(implements Serializable)就可以解决这一个异常.

–序列化是一种将对象,以一连串的字节描述的过程,用于解决在对对象流进行读写时所引发的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值