java开发中常见的异常及解决方案

Java Exception:

  • Error
  • Runtime Exception 运行时异常
  • Exception
  • throw 用户自定义异常

异常类分两大类型:Error类代表了编译和系统的错误,不允许捕获;Exception类代表了标准Java库方法所激发的异常。Exception类还包含运行异常类Runtime_Exception和非运行异常类Non_RuntimeException这两个直接的子类。

运行异常类对应于编译错误,它是指Java程序在运行时产生的由解释器引发的各种异常。运行异常可能出现在任何地方,且出现频率很高,因此为了避免巨大的系统资源开销,编译器不对异常进行检查。所以Java语言中的运行异常不一定被捕获。出现运行错误往往表示代码有错误,如:算数异常(如被0除)、下标异常(如数组越界)等。

非运行异常时Non_RuntimeException类及其子类的实例,又称为可检测异常。Java编译器利用分析方法或构造方法中可能产生的结果来检测Java程序中是否含有检测异常的处理程序,对于每个可能的可检测异常,方法或构造方法的throws子句必须列出该异常对应的类。在Java的标准包java.lang java.util 和 java.net 中定义的异常都是非运行异常。

常见异常:

  • 算术异常类:ArithmeticExecption
  • 数组负下标异常:NegativeArrayException
  • 数组下标越界异常:ArrayIndexOutOfBoundsException
  • 文件已结束异常:EOFException
  • 文件未找到异常:FileNotFoundException
  • 操作数据库异常:SQLException
  • 输入输出异常:IOException
  • 空指针异常类:NullPointerException
    当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等。
  • 类型强制转换异常:ClassCastException
    假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常经常被称为强制类型转换异常。
  • 未找到类定义错误:NoClassDefFoundError
    当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。
  • 方法不存在错误:NoSuchMethodError
    当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。
  • 内存不足错误 OutOfMemoryError
    当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误。
    代码中存在死循环,(处理循环)启动参数设定过小(设定服务器的启动参数增大),内存中一次加载的数据量过于庞大(减少一次加载的数据),集合类应用的对象未回收(手动回收未回收对象)
  • 数字格式异常 NumberFormatException
    当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常

404。路径错误。出现404一定是你的请求路径有问题,接口地址没找到,或者文件路径不存在。

你可能感兴趣的:(java)