这一章都是讲异常的,里面很多原则还是要在实践中用到了才有体会啊。有些条目讲的也很简单,除了记一下标题,都不知道还要记什么。异常是有用的东西,但是也给代码带来了相当大的复杂度。用的好,可以让你的程序更健壮,用的不好,代码里到处都是try catch,你都不知道该从哪里看起。
57,只针对异常的情况才使用异常。不要用异常来控制流程。在这个话题上,不得不说我遇到的一个项目,本来数据库查询查不到结果是很正常的事情,可是这个项目非要生造一个ObjectNotFoundException,查不到数据的时候就抛一个这种异常,把正常的处理流程搞的要多别扭有多别扭,还有人在捕获这个异常时printStackTrace,日志里到处都是。
58,对可恢复的情况使用受控异常,对编程错误使用运行时异常。
59,避免不必要的使用受控的异常。
60,优先使用标准的异常。标准异常看着眼熟,容易理解啊。还是57条里说的那个项目,他们造了一堆奇奇怪怪的异常,最后是除了那个ObjectNotFoundException,其他基本没人用。
61,抛出与抽象对应的异常。高层代码应该捕获并封装低层次的异常。
62,每个方法抛出的异常都要有文档。话说回来,即使是提供了文档的标准库,很多人也不看的,反正调用的时候,IDE会提示你要捕获哪些异常,大多数人对异常也不处理,就是printStackTrace了事。不过真想把代码写得好,还是要看看的。
63,在细节消息中包含能捕获失败的消息。说白了,就是你的异常信息最好包含一些能让人更迅速的发现问题在什么地方的信息。话说有些人连NullPointerException都看不明白的,给他什么信息都没用。
64,努力使失败保持原子性。如果会失败,尽量不要破坏原来的状态。当然这个很难,有时候根本不可能做到的。比如ConcurrentModifiedException,纵然会抛出异常,改了就是改了。
65,不要忽略异常。嗯,至少printStackTrace一下啊。话说回来,大部分时候,对异常的处理也就是这样了。
分享到:
相关推荐
"Effective Java读书笔记" Effective Java是一本关于Java编程语言的经典书籍,本笔记主要总结了Java语言的发展历程、静态工厂方法的应用、构造器模式的使用等重要知识点。 一、Java语言的发展历程 Java语言的发展...
《Effective Java》是Java开发领域的经典著作,作者Joshua Bloch深入浅出地阐述了编写高效、健壮的Java代码的技巧和最佳实践。以下是对该书部分内容的详细解释: 1. **产生和销毁对象** - Item1:静态工厂方法相比...
Effective Java 读书笔记 - 枚举与注解 本文总结了Effective Java 中关于枚举与注解的知识点,涵盖了枚举类型的优点、使用指南、避免使用 int 常量、使用 EnumSet 和 EnumMap 等。 枚举类型的优点 枚举类型提供了...
《Effective Java》是Java...以上仅是《Effective Java》一书中部分核心知识点的概述,实际的读书笔记中会更详细地解释这些概念,并给出具体的示例代码。通过深入学习和实践,开发者可以极大地提升其Java编程的水平。
读书笔记:Effective Java中文版第3版笔记
### Effective Java读书笔记(上) #### 第一章 引言 本书主要针对Java开发者提供了大量实用的编程指导建议,帮助读者提升代码质量和程序性能。在本章节中,我们将重点介绍对象的创建与销毁,以及一些重要的设计...
读书笔记:Effective Java中文版学习项目
读书笔记:Effective Java中文版第二版示例、笔记
读书笔记:Effective Java中文版 第2版
读书笔记:Java练习包括《Java编程思想》《算法》《Effective Java》等
读书笔记:Effective Java中文版第二版示例代码
读书笔记:Effective Java 中文版(2版和3版)
读书笔记:读Effective Java中文版第3版阅读源码测试案列
读书笔记:Effective Java 中文版(第2版)总结 (美)Joshua Bloch 著
读书笔记:Effective.Java中文版(第3版)
安卓艺术开发探索读书笔记,EffectiveJava读书笔记. 收集各大神博客以及安卓笔记,安卓面试笔记等方便手机端查看. 更新说明 v2.2.2 1.增加了一些最近在学习比较好的安卓大神的博客. 2.增加了来自GeniusVJR整理的安卓...
《BookReading:读书笔记》项目是一个专注于Java编程的个人学习资源库,旨在帮助开发者通过阅读和整理书籍来提升自己的技术能力。在这个项目中,你将找到一系列与Java相关的读书笔记,这些笔记涵盖了从基础概念到高级...
loveincode's notes 学习工作中的一些记录,收藏。 操作系统 , 编译原理 , 计算机网络 , 互联网协议... 常用数据结构与算法 Java 实现 数据结构 与 排序算法 ...读书笔记 Effective Java , HTTP权威指南 , Java
java软件笔试题 my notebook 我的笔记本,大部分是在大二大三的时候写的笔记,对于已经毕业的来说可能比较基础甚至naive。...7:读书笔记 thinking in java effective java Android开发艺术探索 Android插件化开发指南
作者HotBitmapGG,源码StudyProject,一款 Material Design 风格的 AndroidRank 干货学习客户端,需要...安卓艺术开发探索读书笔记,EffectiveJava 读书笔记. 收集各大神博客以及安卓笔记,安卓面试笔记等方便手机端查看.