常见的异常类型:
- 算术异常类:ArithmeticExecption 如除数为0的情况。
- 空指针异常类:NullPointerException 调用了空指针,运用指针前,最好做指针是否为空的判断。
- 类型强制转换异常:ClassCastException 在多态中,如果向下转型,强制转换时必须是父类的子类才能转换。
- 类格式错误:ClassFormatError 注意定义类时,严格按照类的定义规则。驼峰命名法,原理关键字,严格区分大小写
- 数字格式化异常:NumberFormatException,在使用时参数时,参数类型不匹配或者赋了空值,解决办法,按照预设规定赋值;或者将参数的类型从基本类型换成用包装类型。
- 数组下标越界异常:ArrayIndexOutOfBoundsException 注意定义的数组长度,给数组赋值时,元素个数不能超过数字长度。
- 数组负下标异常:NegativeArrayException 创建数组时,不能用负数作为数组的初始化大小。
- 操作数据库异常:SQLException 应用程序无法连接数据库,如地址路径填写错误。也有可能要执行的查询存在语法错误。
- 输入输出异常:IOException 将可能出错的代码装进try{}catch(IOException e){e.printStackTrace}中捕获异常。关流最好放在finally{}里,并且还需捕获异常。
- 文件未找到异常:FileNotFoundException 修改打包工具,过滤该文件,不把该文加打到jar包中
- 文件已结束异常:EOFException
- 方法未找到异常:NoSuchMethodException
- 违背安全原则异常:SecturityException
- 字符串转换为数字异常:NumberFormatException
- 抽象方法错误。java.lang.AbstractMethodError 当应用试图调用抽象方法时抛出。
Mybatis中常见错误:
报错说明1:
org.apache.ibatis.binding.BindingException: Type interface com.jt.mapper.UserMapper is not known to the MapperRegistry.
解决方案1:
检查namespace命名是否与接口一致
报错说明2:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.jt.mapper.UserMapper.findAll
解决方案2:
检查xml映射文件中的ID是否与接口方法一致.
报错说明3:
The error may exist in mybatis/mappers/UserMapper2.xml
解决方案3:
检查mybatis核心文件加载mapper映射文件的路径是否正确.
报错说明4:
Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is ‘mybatis/mappers/demoUserMapper.xml’. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias ‘DemoUser’. Cause: java.lang.ClassNotFoundException: Cannot find class: DemoUser
解决方案4:
问题可能是xml映射文件中的resultType的类型异常.