SouthLight's Blog


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

Java基础之Error、Exception

发表于 2019-01-31 | 分类于 java

只要是程序,就会有错误跟异常,Java程序也不例外!
那什么是错误,什么是异常?Java异常又可分为哪两类?

Error

VirtualMachineError(虚拟机错误)

错误一般是程序在正常条件下,是系统内部的错误或者资源耗尽的错误!常见的错误主要有两种,内存溢出和栈溢出!

  • OutOfMemoryError(内存溢出):一般是虚拟机分配的内存不能容下程序所需的数据,或者new 出的对象太多太多了(主要是堆内存或者方法区内存的不足)
  • StackOverFlowError(栈溢出):常见的就是递归循环没有出口,导致虚拟机栈记录太多东西导致溢出

AWTError

一般是调用AWT包下的类,使用操作系统的资源时出现的错误

Exception

RuntimeExcept(运行时异常,非检查异常)

这种异常在我们的程序中是最常见的:

  1. NullPointException(空指针异常)
  2. IndexOutOfBoundsException (数组下表越界)
  3. ClassCastException (强转类型是异常)
  4. ClassNotFoundException (找不到指定类)
  5. ArithmeticException (算数运算异常 如除0)
  6. NumberFormatException (String类型装数字类型异常)
    …

    IOException (其他异常,也叫做检查异常,必须处理的异常)

  7. FileNotFoundException (文件未找到异常)
  8. EOFException (文件已经结束异常)
  9. SQLException (SQL异常)

关于检查异常跟非异常

非检查异常(unchecked exception): 包括RuntimeException和Error类的异常,对于运行时的异常,编译器不要求程序员强制捕获异常处理或者抛出异常声明
检查异常(checked exception) : 编译器强制要求程序员对异常进行捕获,比如常见的IOException和SQLException!!

总结图:

最后给一张大图完整的说明Exception和Error:

1…343536…38

SouthLight Lin

38 日志
16 分类
19 标签
© 2020 SouthLight Lin
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4