更新时间:2022-04-21 来源:黑马程序员 浏览量:
在程序运行的过程中也会发生异常情况,例如运行时内存溢出、磁盘空间不足、网络中断等。针对此类状况,Java中提供了异常处理机制,以异常类的形式对这些不正常情况进行封装,通过异常处理机制对程序代码发生的各种问题进行有针对性地处理。接下来通过一个案例来了解一下什么是异常,如文件3-41所示。
文件3-41Example17.java
package com.itheima.example17;
public class Example17 {
public static void main(String[] args) {
int res = calculate(5, 0); // 调用calculate()方法
System.out.println(res);
}
// 下面的方法实现了两个整数相除
public static int calculate(int a, int b) {
int res = a / b; // 定义一个变量res记录两个数相除的结果
return res; // 将结果返回
}
}运行结果如图3-21所示。
图3-21运行结果
从图3-21的运行结果可以看出,程序出现了算术异常(ArithmeticException),这个异常是由于在第4行代码调用divide()方法时传入了参数0,而在calculate()方法中,运算时出现了被0除的情况。程序出现异常后导致程序立即结束,无法继续向下执行。
在上一小节中产生的ArithmeticException异常只是Java异常体系中的一种,在Java中还提供了大量的异常类,这些异常类都是java.lang.Throwable类的子类。
接下来通过一张图来学习Throwable类的继承体系,如图3-22所示。

图3-22Throwable体系架构图
通过图3-22可以看出,Throwable有两个直接子类Error和Exception,其中Error表示程序代码中出现的错误,Exception表示程序代码中出现的异常。他们的区别在于,错误是指仅靠程序本身是不能恢复执行的,而异常是指通过程序本身可以处理的错误。
毕业16个工作日,平均薪资13180元,就业率100%,广州黑马AI智能应用开发(Java)学科20250529班
2026-03-06毕业32个工作日,平均薪资11147元,就业率95%,广州黑马AI智能应用开发(Java)学科20250326班
2026-03-05黑马程序员2025全国就业数据发布:全学科平均就业率92.07%,AI开发类就业平均薪资达11869.67元。
2026-03-05黑马全国校区齐开班!场面太太太壮观了!
2026-03-03AI智能应用开发课程紧贴企业刚需,全程高效学习,直达中高级软件开发水平
2026-02-28风口正劲!黑马程序员又一AI智能应用开发班毕业当天100%就业!
2026-02-27