现在面试时很多面试官喜欢问面试人员:“熟悉的错误类型及熟悉的包来检验面试者对语言的熟悉程度”,所以自己开个博客来记录自己遇见的错误!
java.lang.Throwable类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。 所有已实现的接口: Serializable 直接已知子类: Error, Exception。
JDK错误
- //类不存在
- java.lang.ClassNotFoundException: cn.yishishidai.mdbs.service.test.EmpServiceImpl
- //调用null对象
- java.lang.NullPointerException
- //没有这个方法
- java.lang.NoSuchMethodException
- //类型转换
- java.lang.ClassCastException
框架错误
- //查询时数据库字段有hibernate不支持的数据类型,比如说hibernate不支持数据库中的text类型
- //就是说hibernate没有注册该类型,当我们查询的SQL语句返回这个
- //类型的字段时就会报下面的错误
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -1