- 浏览: 70260 次
- 性别:
- 来自: 上海
文章分类
最新评论
Java开发人员可以做出的最重要的架构性决策之一就是如何使用Java异常模型。Java异常一直以来就是社群中许多争议的靶子。有人争论到,在
Java语言中的异常检查已是一场失败的试验。本文将辨析,失败的原因不在于Java异常模型,而在于Java类库的设计者未能充分了解到方法失败的两个
基本原因。
本文倡导一种对异常条件本质的思考方式,并描述一些有助于设计的模式。最后,本文还将在AOP模型中,作为相互渗透的问题,来讨论异常的处理。当你能正确使用异常时,它们会有极大的好处。本文将帮助你做到这一点。
为何异常是如此重要
Java应用中的异常处理在很大程度上揭示了其所基于架构的强度。架构是在应用程序各个层次上所做出并遵循的决定。其中最重要的一个就是决定应用程序中的
类,亚系统,或层之间沟通的方式。Java异常是Java方法将另类执行结果交流出去的方式,所以值得在应用架构中给予特殊关注。
一个衡量Java设计师水平和开发团队纪律性的好方法就是读读他们应用程序里的异常处理代码。首先要注意的是有多少代码用于捕获异常,写进日志文件,决定
发生了什么,和在不同的异常间跳转。干净,简捷,关联性强的异常处理通常表明开发团队有着稳定的使用Java异常的方式。当异常处理代码的数量甚至要超过
其他代码时,你可以看出团队之间的交流合作有很大的问题(可能在一开始就不存在),每个人都在用他们自己的方式来处理异常。
对突发异常的处理结果是可以预见的。如果你问问团队成员为什么异常会被抛出,捕获,或在特定的一处代码里忽视了异常的发生,他们的回答通常是,“我没有别
的可做”。如果你问当他们编写的异常真的发生了会怎么样,他们会皱皱眉,你得到的回答类似于这样,“我不知道。我们从没测试过。”
你可以从客户端的代码判断一个java的组件是否有效利用了java的异常。如果它们包含着大堆的逻辑去弄清楚在何时一笔操作失败了,为何失败,是否有弥
补的余地,那么原因很有可能要归咎于组件的报错设计。错误的报错系统会在客户端产生大量的“记录然后忘掉”的代码,这些代码鲜有用途。最差的是弄拧的逻
辑,嵌套的try/catch/finally代码块,和一些其他的混乱而导致脆弱而难于管理的应用程序。
事后再来解决Java异常的问题,或根本就不解决,是软件项目产生混乱并导致滞后的主要原因。异常处理是一个在设计的各个部分都急需解决的问题。对异常处
理建立一个架构性的约定是项目中首要做出的决定。合理使用Java异常模型对确保你的应用简单,易维护,和正确有着长远的影响。
解析异常
正确使用Java异常模型所包含的内容一直以来有着很大的争议。Java不是第一种支持异常算法语义的;但是,它却是第一种通过编译器来执行声明和处理某些异常的规则的语言。许多人都认为编译时的异常检查对精确的软件设计颇有帮助。图1显示的Java异常的等级。
Barry Ruzek
被Open Group提名为注册IT设计师的大师。他有着30多年的开发操作系统和企业应用的经验。
(转摘自: http://www.blogjava.net/jinfeng_wang/archive/2007/12/12/167119.html)
发表评论
-
Tomcat配置远程调试端口
2016-07-26 15:35 0Tomcat配置远程调试端口 1.Linxu系统: apa ... -
获取通过body传输的postdata数据
2016-07-01 18:39 0目前基于rest风格的很多API开始使用通过body da ... -
LOG4J 配置
2015-04-01 17:44 690log4j.rootLogger = info, consol ... -
利用Java实现压缩与解压缩(zip、gzip)支持中文路径
2011-10-19 22:21 1405zip扮演着归档和压缩两个角色;gzip并不将文件归档,仅只是 ... -
安全有效的实现两星期内自动登陆功能
2011-10-19 22:02 1159自动登陆流程: 1. 保存用户信息阶段: 当用户登陆网站 ... -
基于Spring框架的Shiro配置
2011-10-15 13:37 2581一、在web.xml中添加shiro过滤器 ... -
web应用 相对路径 绝对路径 总结
2011-05-20 11:50 2952参考资料: http://www.iteye.com/topi ... -
Spring,hibernate,struts的面试笔试题(含答案)
2011-05-07 14:23 1Hibernate工作原理及为什么要用? 原 ... -
spring入门编程问题集锦
2011-05-07 14:19 10651、如何学习Spring? 你 ... -
SchemaExport工具实战(hibernate)
2011-03-05 14:57 977SchemaExport工具实战 通常我们使用生成数据库 ... -
用java实现zip压缩
2011-02-12 11:42 1033今天写了个用java压缩的功能,可以实现对文件和目录的压缩。 ... -
java实现zip与unzip
2011-02-12 11:26 1181jdk提供了Zip相关的类方便的实现压缩和解压缩。使用方法很简 ... -
一个java处理JSON格式数据的通用类
2011-02-11 14:57 1740进入需要在项目中用java处理json格式的数据,因此封装了一 ... -
Java 理论与实践: 关于异常的争论
2011-01-20 20:28 680与 C++ 类似,Java 语言也 ... -
讲解Java异常
2011-01-20 14:35 793六种异常处理的陋习 ... -
jsp2.0自定义标签Tag
2011-01-13 00:56 1938在JSP2.0 中,对于自定义 ... -
Axis2部署WebService
2011-01-12 21:14 2079Axis2下提供了三种配置文件,一种是整个系统的全局配置axi ... -
高效java异常处理机制
2011-01-12 16:34 1018Java 开发人员可以做 ... -
web.xml 中的listener、 filter、servlet 加载顺序及其详解
2010-12-20 17:42 770一、 1、启动一个WEB项 ... -
Java人民币小写转大写(小数点后只支持到分)
2010-08-02 18:04 1464package com.resource.test; imp ...
相关推荐
通过遵循上述最佳实践,开发者可以编写出更健壮、可维护的Java代码,有效地利用Java异常处理机制来提高程序的稳定性。同时,阅读并理解"Effective Java Exceptions"文档可以帮助进一步深化对Java异常处理的理解。
高效的 Java 异常处理框架 Java 异常处理是 Java 语言中的一个关键组件,用于处理程序运行过程中的错误和异常。在 Java 中,异常处理框架是 Java 语言健壮性的一个重要体现。本文将从 Java 异常的基本概念和语法...
本文深入探讨了高效Java异常处理框架,旨在提高代码的健壮性和稳定性。首先,文章介绍了异常的基本概念和Java异常体系结构。 Java将异常视为对象来处理,所有的异常都继承自`java.lang.Throwable`类。Throwable类有...
高效的Java异常处理框架
什么时间使用runtimeException,什么时间使用Exception,大家有没有被困扰到?经整理,JAVA异常处理框架,以及如何构造自己的异常体系,讲得比较详细,值得一看。
总之,Java异常处理是编程实践中不可或缺的一部分,Java爱好者和开发者需要深入理解并熟练运用这些概念和技巧,以编写出更加稳定和高效的程序。通过不断地实践和学习,你会发现自己在处理复杂问题时变得更加游刃有余...
因此,异常处理是Java编程中不可或缺的一部分。 在Java中,异常处理机制是通过try-catch-finally语句块实现的。当一个异常在try块中被抛出时,控制权会立即转移到相应的catch块。catch块是用来处理特定类型的异常,...
Java 异常处理策略研究 本文研究了 Java 异常处理策略,着重于分析 Java 异常处理的逻辑、阐述了异常类、异常处理机制 ...编程人员可以根据实际情况选择合适的 Java 异常处理策略,编写出更加简洁、高效的程序代码。
高效的Java异常处理框架.pdf
Java内存机制是Java虚拟机(JVM)的关键组成部分,它管理着程序运行时的数据存储。在Java中,内存主要分为以下几个区域: ...正确理解和运用Java内存机制以及异常处理机制对于开发健壮、高效的Java应用程序至关重要。
异常处理机制是面向对象语言普遍支持的提高软件可靠性的方法。作为两款被广泛使用的面向对象语言,C++和Java语言都支持异常处理机制...该算法可以同时支持C++和Java异常处理机制,并有效提高了抛出异常较多的程序的性能。
### Java异常处理及应用 #### 一、引言 异常是指在程序运行过程中发生的非正常事件,例如除零溢出、数组越界、内存溢出等。这些异常事件会导致程序无法正常运行。为了提高程序的健壮性,在设计程序时需要充分考虑...
下面是对Java异常处理机制的详细解析。 在Java中,异常是程序运行时发生的错误,它中断了正常的代码流程。异常类继承自`java.lang.Throwable`,分为两种类型:Error和Exception。Error是系统级别的问题,如虚拟机...
### JAVA异常处理原因方法 #### 程序错误原因与概念 在软件开发中,程序错误是不可避免的,它们可以大致分为三类:编译错误、运行错误和逻辑错误。 - **编译错误**,也被称为“语法错误”,这类错误是在编译阶段...
在Java编程语言中,异常处理是一项关键特性,用于在程序执行过程中捕获并处理错误或非正常情况。本文将深入探讨Java中的异常类处理,包括异常的分类、处理机制以及如何有效地利用源码和工具进行调试。 首先,Java中...
在Java异常处理中,我们还需要注意几个关键字:`throw`、`throws`和`try`。`throw`是用来抛出一个具体的异常对象,`throws`通常用于方法签名后,用来声明这个方法可能会抛出的异常类型,这样调用这个方法的上层代码...
本实验报告主要涵盖了Java异常处理机制、多线程概念与实现,以及多线程同步问题。 首先,Java的异常处理机制包括了五个关键字:`try`、`catch`、`finally`、`throw`和`throws`。在实验题1中,我们看到了`try-catch`...