`
stta04
  • 浏览: 115226 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

n层结构的J2EE项目中的异常处理之一 转载

阅读更多

从一开始走上工作岗位到现在快一年了,可我对如何处理异常还是似懂非懂。模仿编码——bug——调试——bug——调试。。。

j2ee项目中 自己的异常处理总觉得很别扭 所以把这篇文章载过来 作者不详 嘿

为什么要在J2EE项目中谈异常处理呢?

可能许多java初学者都想说:“异常处理不就是try….catch…finally吗?这谁都会啊!”。笔者在初学java时也是这样认为的。如何在一个多层的j2ee项目中定义相应的异常类?在项目中的每一层如何进行异常处理?异常何时被抛出?异常何时被记录?异常该怎么记录?何时需要把checked Exception转化成unchecked Exception ,何时需要把unChecked Exception转化成checked Exception?异常是否应该呈现到前端页面?如何设计一个异常框架?

本文将就这些问题进行探讨。

1. JAVA异常处理

在面向过程式的编程语言中,我们可以通过返回值来确定方法是否正常执行。比如在一个c语言编写的程序中,如果方法正确的执行则返回1.错误则返回0。在vb或delphi开发的应用程序中,出现错误时,我们就弹出一个消息框给用户。


通过方法的返回值我们并不能获得错误的详细信息。可能因为方法由不同的程序员编写,当同一类错误在不同的方法出现时,返回的结果和错误信息并不一致。

所以java语言采取了一个统一的异常处理机制。

什么是异常?运行时发生的可被捕获和处理的错误。

在java语言中,Exception是所有异常的父类。任何异常都扩展于Exception类。Exception就相当于一个错误类型。如果要定义一个新的错误类型就扩展一个新的Exception子类。采用异常的好处还在于可以精确的定位到导致程序出错的源代码位置,并获得详细的错误信息。

Java异常处理通过五个关键字来实现,try,catch,throw ,throws, finally。具体的异常处理结构由try….catch….finally块来实现。try块存放可能出现异常的java语句,catch用来捕获发生的异常,并对异常进行处理。Finally块用来清除程序中未释放的资源。不管理try块的代码如何返回,finally块都总是被执行。

一个典型的异常处理代码

java 代码

public String getPassword(String userId)throws DataAccessException{
String sql = “select password from userinfo where userid=’”+userId +”’”;
String password = null;
Connection con = null;
Statement s = null;
ResultSet rs = null;
try{
con = getConnection();//获得数据连接
s = con.createStatement();
rs = s.executeQuery(sql);
while(rs.next()){
password = rs.getString(1);
}
rs.close();
s.close();

}
Catch(SqlException ex){
throw new DataAccessException(ex);
}
finally{
try{
if(con != null){
con.close();
}
}
Catch(SQLException sqlEx){
throw new DataAccessException(“关闭连接失败!”,sqlEx);
}
}
return password;
}

可以看出Java的异常处理机制具有的优势:

给错误进行了统一的分类,通过扩展Exception类或其子类来实现。从而避免了相同的错误可能在不同的方法中具有不同的错误信息。在不同的方法中出现相同的错误时,只需要throw 相同的异常对象即可。

获得更为详细的错误信息。通过异常类,可以给出更为详细,对用户更为有用的错误信息。以便于用户进行跟踪和调试程序。

把正确的返回结果与错误信息分离。降低了程序的复杂度。调用者无需要对返回结果进行更多的了解。

强制调用者进行异常处理,提高程序的质量。当一个方法声明需要抛出一个异常时,那么调用者必须使用try….catch块对异常进行处理。当然调用者也可以让异常继续往上一层抛出。

分享到:
评论

相关推荐

    J2EE项目中统一异常处理源码

    在J2EE项目开发中,异常处理是一项至关重要的任务,它确保了系统的稳定性和用户体验。一个良好的异常处理机制能够提供详细的错误信息,帮助开发者快速定位问题,并且可以在生产环境中优雅地处理异常,防止用户看到...

    J2EE项目异常处理的几种方案

    在J2EE项目中,异常处理是一项至关重要的任务,它直接关系到系统的稳定性和用户体验。本文将详细解析几种常用的异常处理方案,尤其是针对Struts2框架下的异常管理策略。 #### 一、使用Struts2的拦截器进行异常处理 ...

    J2EE体系结构图或三层结构图

    * Loose Coupling:J2EE 体系结构图或三层结构图的每一层之间都是相互独立的,可以单独开发、测试和维护。 * High Cohesion:每一层内部的逻辑都是紧密相关的,可以提高开发效率和系统维护性。 * Flexibility:J2EE ...

    Struts开发指南之J2EE n层结构.doc

    N层架构中最常见的层次包括表示层、业务逻辑层、数据访问层等,但具体层次的数量和命名可以根据项目需求进行调整。 ### 二、J2EE N层架构详解 #### 1. 表示层(Presentation Layer) 表示层是用户与系统的接口,...

    简单的J2EE项目

    在本项目中,你可能会看到这些层次的实现,例如使用Servlet和JSP进行表现层开发,EJB(Enterprise JavaBeans)处理业务逻辑,以及JDBC(Java Database Connectivity)进行数据访问。 2. **Servlet与JSP**:Servlet...

    简单的j2ee项目

    1. **Java基础知识**:首先,理解J2EE项目需要扎实的Java语言基础,包括面向对象编程、异常处理、集合框架等。 2. **Servlet**:Servlet是Java中用于处理HTTP请求的核心组件,它们在服务器端运行,接收并响应来自...

    经典J2EE项目案例

    在最后一个项目中,我们可以看到一个公司内部论坛的开发,使用了 windows 操作系统和 sqlserver 数据库。 这些项目案例展示了 J2EE 平台的强大功能和灵活性,涵盖了软件开发、项目管理、团队协作等多个方面。

    J2EE项目开发总结

    在J2EE项目开发中,理解并掌握J2EE架构及其相关技术是非常关键的。J2EE应用程序通常由四层结构组成,分别是客户层、应用层、表示逻辑层和企业信息系统层。客户层主要负责与用户的交互,应用层处理业务逻辑,表示逻辑...

    J2EE项目实例源码

    总的来说,"J2EE项目实例源码"提供了一个实践性的学习案例,涵盖了J2EE应用开发中的数据库设计、连接、业务逻辑处理以及视图展现等多个关键环节。通过研究这个项目,开发者可以深化对J2EE平台的理解,提升实际项目...

    J2EE项目开发与设计随书源码

    《J2EE项目开发与设计随书源码》是一份宝贵的学习资源,旨在帮助开发者深入理解和实践J2EE(Java 2 Platform, Enterprise Edition)技术。J2EE是Oracle公司推出的用于构建企业级分布式应用程序的平台,它为开发、...

    j2ee项目中所用到的包

    在Java企业级开发中,J2EE(Java 2 Platform, Enterprise Edition)是一个重要的平台,它为构建分布式、多层的企业应用提供了全面的框架。这个压缩包“j2ee项目中所用到的包”包含了在J2EE项目中常用的框架和库,...

    典型的J2EE三层结构学习实例

    典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与...

    j2ee项目开发案例

    在《J2EE案例开发》这个压缩包中,你可能会找到一个完整的J2EE项目实例,包括源代码、配置文件、数据库脚本等,通过学习和分析这个案例,你可以更好地理解上述知识点如何在实际项目中应用。记得动手实践,理论结合...

    J2EE项目开发模板

    这份文档可能包含了模板的具体结构、使用方法、优势以及实际项目中的应用示例,对于深入理解和应用J2EE项目开发模板非常有帮助。 总的来说,J2EE项目开发模板是企业级Java开发的基石,它规范了开发流程,提升了开发...

    J2EE应用程序的异常处理框架

    在J2EE应用程序中,异常处理是一个至关重要的方面,它涉及到代码的可读性、可维护性和业务逻辑的正常执行。异常处理框架的目标是简化这一过程,让开发人员能够更专注于核心业务逻辑,而非繁琐的异常处理代码。本文将...

    J2EE项目案例源代码

    通过深入研究提供的J2EE项目案例源代码,初学者不仅可以学习到如何在实际项目中应用这些技术,还能了解如何组织代码结构,遵循设计模式,以及如何有效地利用J2EE提供的服务。这将有助于他们快速提升在企业级Java开发...

    软件测试技术在J2EE项目中的应用

    在J2EE项目中,可以使用JUnit进行Java类的单元测试,它提供了断言、测试套件和异常处理等功能,便于开发者编写和运行测试用例。 2. **集成测试**:当单个组件通过单元测试后,需要验证它们之间的交互。JUnit和...

    一个四层架构的J2EE项目实例.rar

    四层架构在J2EE开发中是一种常见的设计模式,它将应用程序分解为四个逻辑层,以提高可维护性、可扩展性和代码复用性。这个压缩包“一个四层架构的J2EE项目实例.rar”可能包含了一个完整的J2EE项目,我们可以详细探讨...

Global site tag (gtag.js) - Google Analytics