本书讲解了Java异常的原理及处理方法,系统地阐述了体系结构、设计、开发、测试和调试等主题,并讨论了如何构建健壮的系统,是编程人员、测试人员、项目经理和架构师的必备读物。
·提供Java异常处理的最佳实践
·分析故障模式:如何查找最可能出现问题的位置
·在复杂的API和架构(J2EE、JDBC、RMI和JMS等)中使用异常
·讲述应用程序的异常处理策略
·在复杂的分布式多层系统中处理异常
·介绍成熟的异常处理设计模式
·使用开放源工具进行测试和调试
·讲解提高健壮性的重要体系结构决策
第1章 异常概述/1
1.1 简介/1
1.2 异常概念/3
1.3 异常类层次结构/4
1.4 异常的处理或声明选项/5
1.5 可检测异常和非检测异常/7
1.6 异常的API /8
1.7 小结/10
第2章 异常处理技术和实践/11
2.1 简介/11
2.2 选择处理或声明/11
2.3 标准异常处理选项/12
2.4 异常处理注意事项/18
2.5 处理异常时提倡的事项/18
2.6 处理异常时忌讳的事项/19
第3章 高级异常处理概念/22
3.1 简介/22
3.2 自定义异常/22
3.3 链表异常/25
3.4 异常的本地化和国际化/26
3.5 子类/30
3.6 接口和抽象类的异常声明/30
3.7 异常栈跟踪/31
3.8 低级异常处理/34
第4章 异常和线程/39
4.1 简介/39
4.2 多线程系统中的异常/40
4.3 同步代码块中的异常/40
4.4 线程活动的异常风险/42
4.5 基于线程的通信的异常/43
4.6 死锁/46
4.7 取消线程/47
第5章 记录和断言/48
5.1 记录API /48
5.2 断言/56
第Ⅱ部分 异常处理和设计/59
第6章 异常处理和设计/59
6.1 简介/59
6.2 面向对象设计的原理/59
6.3 小结/70
第7章 Java核心语言中的异常/71
7.1 简介/71
7.2 基本数据类型/71
7.3 0bject类和JaVa中的对象/74
7.4 数组/79
7.5 jaVa.1ang包中的接口/80
7.6 String类和StringBuffer类/81
7.7 BigDecimal类和BigInteger类/82
7.8 包装类/83
第8章 集合和I/O /84
8.1 简介/84
8.2 集合架构/84
8.3 I/O API /89
8.4 I/O子类的异常和错误/94
8.5 新I/O API——NIO /100
8.6 NIOAPI中的异常/101
第9章 分布式Java API /108
9.1 简介/108
9.2 分布式通信的基本原理/108
9.3 远程方法调用(RMI) /112
9.4 Java命名和目录接口/121
9.5 Java数据库连接/125
9.6 小结/132
第10章 J2EE /133
10.1 简介/133
10.2 基本J2EE应用程序模型/133
10.3 客户层/136
10.4 Web层/137
10.5 EJB层/147
10.6 J2EE和EJB的事务/157
10.7 J2EE和异常处理的全局考虑事项/160
10.8 J2EE异常处理要考虑的因素/161
第Ⅲ部分 有效使用异常、错误和处理
第11章 体系结构、设计和异常模型/165
11.1 简介/165
11.2 架构师必须考虑异常和错误/166
11.3 体系结构、设计和开发/167
11.4 异常模型的关键体系结构决策/168
11.5 异常模型的体系结构决策/169
11.6 编写健壮的JaVa代码/174
第12章 模式/176
12.1 简介/176
12.2 体系结构模式/177
12.3 设计模式/179
12.4 创建模式/179
12.5 结构模式/182
12.6 行为模式/187
12.7 J2EE模式/191
12.8 集成层/192
12.9 表示层/194
12.10 业务层/196
12.11 小结/198
第13章 测试/199
13.1 测试的目的和意义/199
13.2 对测试的一些误解/199
13.3 盒外和盒内测试类型/201
13.4 JaVa的测试难点/204
13.5 测试实践/204
13.6 如何管理和运行测试/210
13.7 测试何时结束/212
第14章 调试/214
14.1 简介/214
14.2 调试的含义/214
14.3 调试原理和实践/215
14.4 调试策略/216
14.5 调试所见和方法/219
14.6 调试面临的特殊挑战/223
附录A 分析处理-声明的测试结果/226
附录B JUnit简明指南/230
B.1 基本信息/230
B.2 安装JUnit /230
B.3 运行JUnit /230
B.4 JUnit测试架构的体系结构/231
B.5 编写JUnit测试/232
B.6 测试设计的指导原则/238
附录C MyBuggySenrvlet——组件验证问题/239