Java 异常处理是很多初学者写代码时最容易忽略、又最影响代码质量的部分。这套资料把异常从“是什么”讲到“怎么设计”,覆盖了定义、捕获、抛出、受检异常、自定义异常和 finally 块,内容比较系统。如果你已经会写基本的 Java 类和方法,但遇到报错只会复制粘贴堆栈信息,或者不知道什么时候该用 try-catch、什么时候该让方法声明 throws,那这套材料能帮你把这块补上。

这门课解决什么问题

日常开发里,异常处理不是“为了不报错”,而是为了让程序在出错时仍然可控、可读、可维护。这套资料从异常的定义讲起,说明异常对象是怎么被创建和传播的;接着讲多重捕获和用 Exception 类统一捕获的区别,帮你理解捕获粒度;然后重点讲 throw 和 throws 两个关键字,区分“抛出异常”和“声明可能抛出异常”的使用场景。后半部分涉及受检异常(Checked Exception)与运行时异常的区别,以及继承关系中 override 方法时 throws 的规则——这是很多面试和实际开发中容易踩坑的点。最后讲自定义异常和 finally 块,覆盖了“什么时候该自己造一个异常类型”和“无论是否出错都要执行的清理逻辑”。学完这套内容,你能独立处理常见的输入校验失败、资源关闭、数据解析错误等场景,写出清晰的错误提示,而不是让程序直接崩溃。

适合什么基础,建议先看哪几块

这套资料适合已经掌握 Java 基本语法(变量、循环、方法、类)的学习者。不需要你懂框架,但至少能独立写一个简单的类并调用方法。如果你对 try-catch 只有模糊印象,建议按顺序来,不要跳。前几节(定义和意义)篇幅不长,能帮你建立正确的概念;随后重点看“多重捕获”和“用 Exception 类捕获所有异常”这两块,理解捕获范围越广越危险;接着看“throw 关键字”和“throws 子句”,这是异常处理的核心语义,务必配合练习区分。受检异常和 override 规则那几节内容偏理论,但很关键,建议至少看一遍,别跳过。自定义异常和 finally 块可以放在最后,它们更偏向工程实践,等你对基本机制有把握后再学,效果更好。

资料怎么配合练习

这套资料是视频讲解形式,每节都有明确的时长,适合边看边敲。建议先完整看一遍某节,然后关掉视频,自己写一个对应的示例代码。比如看完“throw 关键字”,就写一个方法,根据参数值主动抛出异常;看完“throws 子句”,就写一个调用链,让异常从底层方法逐层声明到上层。对于受检异常和 override 规则,可以自己造两个类,一个父类方法声明抛出一个受检异常,子类 override 时尝试抛出更宽的异常,观察编译报错。自定义异常部分,动手写一个继承 Exception 的类,并在业务代码里使用它。最后用 finally 块写一个打开文件后无论是否异常都关闭资源的例子。每节视频后都有对应的练习点,不要只“看会”,必须自己跑通一遍。如果某节看完仍然不确定,就回看那一段,再对照自己的代码排查。这套资料不涉及框架和项目,纯 Java 基础,适合在进入 Spring 或实际项目前,把异常处理这层地基打牢。

课程目录

课程目录22 集
  • 1 异常(Exception)的定义,意义和用法1 (11:49).mp4
  • 2 异常(Exception)的定义,意义和用法2 (01:45).mp4
  • 3 异常(Exception)的定义,意义和用法3 (06:05).mp4
  • 4 异常(Exception)的定义,意义和用法4 (05:01).mp4
  • 5 多重捕获MultiCatch1 (08:44).mp4
  • 6 多重捕获MultiCatch2 (01:09).mp4
  • 7 用Exception类捕获所有异常 (10:14).mp4
  • 8 抛出throw关键字1 (05:56).mp4
  • 9 抛出throw关键字2 (13:50).mp4
  • 10 Checked Exception(受检的异常)1 (01:31).mp4
  • 11 Checked Exception(受检的异常)2 (09:41).mp4
  • 12 throws子句1 (07:11).mp4
  • 13 throws子句2 (10:51).mp4
  • 14 throws子句3 (05:48).mp4
  • 15 throws子句4 (14:01).mp4
  • 16 throws子句在继承当中overrride时的规则 (05:48).mp4
  • 17 创建自定义异常 Custom Exception 1 (05:46).mp4
  • 18 创建自定义异常 Custom Exception2 (10:30).mp4
  • 19 创建自定义异常 Custom Exception3 (08:36).mp4
  • 20 finally块1 (09:12).mp4
  • 21 finally块2 (15:04).mp4
  • 22 finally块3 (07:12).mp4