资讯专栏INFORMATION COLUMN

Java中异常处理进阶篇(一)

changfeng1050 / 2436人阅读

摘要:今天我主要讲解一下中异常处理的一些原则,我会尽量以代码的例子带大家去直观的感受异常的处理。首先我们第一个疑惑的问题是异常到底是直接处理,还是向上抛出,供调用方处理或者框架统一集中处理,最后就是我们讲解如何写出一个我们自己的异常处理框架。

关于Java异常一些基本的知识我这里就不在说了,大家可以去网上学习下。今天我主要讲解一下Java中异常处理的一些原则,我会尽量以代码的例子带大家去直观的感受异常的处理。
首先我们第一个疑惑的问题是异常到底是直接处理,还是向上抛出,供调用方处理或者框架统一集中处理,最后就是我们讲解如何写出一个我们自己的异常处理框架。

关于异常处理我总结了以下观点:
1.对于一些自定义的异常或者可预见的一些异常,应用异常,比如用户密码不正确,需要的某个资源不存在等等,抛出自定义检查型异常,但是真没有必要每个异常都定义一个异常类,让操作及时中止,然后交由异常处理框架统一处理。
2.对于调用一些涉及到需要关闭资源的操作,及时在finally里面关闭资源,同时转义成检查性异常,交由异常处理框架统一处理
3.一些无法预知的异常,系统异常,比如空指针等异常,无需捕获,交由异常处理框架统一处理
4.无论是你喜欢抛出检查性异常还是转义成非检查性异常,涉及到分包开发或者交由外部调用的必须在方法内注明可能抛出的异常类型,文档一定要健全。

我上面说的一般是J2EE开发相关的,如果涉及到性能要求比较苛刻,可能这个处理就不太合适了。同时可以看出来我喜欢用非检查型异常,提倡约定和文档,不喜欢检查性异常,不喜欢一层层的抛出。这个仁者见仁,智者见智,我说的也就是一家之言吧。

下面我们开始看各种示例代码:

后面接着写。。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64135.html

相关文章

  • 你和阿里资深架构师之间,差的不仅仅是年龄(进阶必看)

    摘要:导读阅读本文需要有足够的时间,笔者会由浅到深带你一步一步了解一个资深架构师所要掌握的各类知识点,你也可以按照文章中所列的知识体系对比自身,对自己进行查漏补缺,觉得本文对你有帮助的话,可以点赞关注一下。目录一基础篇二进阶篇三高级篇四架构篇五扩 导读:阅读本文需要有足够的时间,笔者会由浅到深带你一步一步了解一个资深架构师所要掌握的各类知识点,你也可以按照文章中所列的知识体系对比自身,对自己...

    huaixiaoz 评论0 收藏0
  • Java核心技术教程整理,长期更新

    以下是Java技术栈微信公众号发布的关于 Java 的技术干货,从以下几个方面汇总。 Java 基础篇 Java 集合篇 Java 多线程篇 Java JVM篇 Java 进阶篇 Java 新特性篇 Java 工具篇 Java 书籍篇 Java基础篇 8张图带你轻松温习 Java 知识 Java父类强制转换子类原则 一张图搞清楚 Java 异常机制 通用唯一标识码UUID的介绍及使用 字符串...

    Anchorer 评论0 收藏0
  • Java进阶之路

    摘要:探索专为而设计的将探讨进行了何种改进,以及这些改进背后的原因。关于最友好的文章进阶前言之前就写过一篇关于最友好的文章反响很不错,由于那篇文章的定位就是简单友好,因此尽可能的摒弃复杂的概念,只抓住关键的东西来讲,以保证大家都能看懂。 周月切换日历 一个可以进行周月切换的日历,左右滑动的切换月份,上下滑动可以进行周,月不同的视图切换,可以进行事件的标记,以及节假日的显示,功能丰富 Andr...

    sushi 评论0 收藏0
  • java

    摘要:多线程编程这篇文章分析了多线程的优缺点,如何创建多线程,分享了线程安全和线程通信线程池等等一些知识。 中间件技术入门教程 中间件技术入门教程,本博客介绍了 ESB、MQ、JMS 的一些知识... SpringBoot 多数据源 SpringBoot 使用主从数据源 简易的后台管理权限设计 从零开始搭建自己权限管理框架 Docker 多步构建更小的 Java 镜像 Docker Jav...

    honhon 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<