# Java教程 - 10 异常

# 10.1 异常的概念

什么是异常?

异常(Exceptions)是指在程序执行过程中出现的错误或异常情况,导致程序无法继续正常执行的事件。

但是程序语法错误和逻辑错误不属于异常。在 Java 中,异常分为 Error 和 Exception,但是 Error 是 Java 虚拟机无法解决的严重问题,例如递归调用没有跳出条件,导致无限递归产生的 StackOverflowError,或内存不足造成的 OutOfMemeryError,Error 异常一般不编写针对性的代码来处理,只能改代码来处理。我们在这里要针对性处理的是 Exception 异常。

Exception 又分为 编译时异常运行时异常

  • 编译时异常:在编译的时候就需要对可能存在的异常进行处理,也叫受检异常。
  • 运行时异常:在编译的时候不强制要求处理,也叫非受检异常,java.lang.RuntimeException 类及它的子类都是运行时异常。

异常类的继承关系及常见的异常类:

# 1 运行时异常举例

例如:整数除数是0会抛出异常。

public static void main(String[] args) {
    int i = 5 / 0;
    System.out.println(i);
}
1
2
3
4

执行的时候就会发生错误:

Exception in thread "main" java.lang.ArithmeticException: / by zero
	at com.doubibiji.Test.main(Test.java:8)
1
2

当程序出现错误的时候,我们通常称之为抛出异常,抛出异常后,程序终止执行。

内容未完......