12.1 引言 12.2 异常处理概述 12.3 异常类型 12.4 关于异常处理的更多知识 12.4.1 声明异常 12.4.2 抛出异常 12.4.3 捕获异常 12.4.4 从异常中获取信息 12.4.5 示例学习:声明、抛出和捕获异常 12.5 finally子句 12.6 何时使用异常 12.7 重新抛出异常 12.8 链式异常 12.9 创建自定义异常类 12.10 File类 12.11 文件输人和输出 12.11.1 使用PrintWriter写数据 12.11.2 使用try-with-resources自动关闭资源 12.11.3 使用Scanner读数据 12.11.4 Scanner如何工作 12.11.5 示例学习:替换文本… 412 12.12 从Web上读取数据 414 12.13 示例学习:Web爬虫