1.业务异常:指正常的业务处理时,由于某些业务的特殊要求而导致处理不能继续所抛出的异常。
处理原则:在业务层或者业务的处理方法中抛出异常,在表示层中拦截异常,以友好的方式反馈给操作者,以便可以依据提示信息正确的完成任务功能的处理。
2.非业务异常:非正常工作情况下所产生的异常。
处理原则:在应用的框架中同意拦截和处理,在开发中不需要进行任何处理。
3.。业务异常的设计。
1)结构上划分为3个层次。第一层:异常基类。第二层:功能层或者模块层。第三层:业务异常层。
2)基类的构建:通常会定义一个继承自RuntimeException的基类,这样对于业务异常就可以在运行时由系统的框架进行捕获。接着为每个
层次定义一个基类,最后为每个业务异常定义一个业务对象。另外为了减少异常对象的数量,在这一层也可以采用错误代码的设计方式,使得顶层的拦截程序可以依
据错误代码来得到相应的错误信息。
4.在servlet容器里处理异常。
1)配置web.xml捕获异常。
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
<error-page>
<exception-type>javax.servlet.ServletException</exception-type>
<location>/error.jsp</location>
</error-page>
2)在jsp页面中使用errorPage属性进行拦截。
5.struts的异常处理机制。
1)异常的配置,
配置<exception/>。属性介绍
type:指定被处理的异常类。
handler:指定异常处理类。默认org.apache.struts.action.ExcetionHandler,可以进行扩展。
path:指定捕获异常并进行处理后返回的地址,可以是页面,也可以是某个action。
key:指定错误消息的key。
bundle:错误信息绑定的资源文件。
scope:指定ActionMessage对象存放的范围。默认是request,也可以是session。
方式介绍
全局:在<global-exception><exception/>
</global-exception>中配置。
局部:在<action><exception/>
</action>中配置
2)异常信息的显示
方法和错误信息的显示相同。<html:errors></html:errors>
3)定义自己的异常处理类
继承ExceptionHandler,实现自己的异常处理类。
覆盖execute()方法,实现自己的异常处理方法。
将<exception/>元素中的handler属性配置为自定义的异常处理类。
6.利用扩展Action处理异常。
覆盖execute()方法。在异常捕获中实现自己的处理异常的方法。
分享到:
相关推荐
本项目“业务异常提示处理 springboot+Assert(自定义断言)”着重于利用Spring Boot的特性来构建高效、易维护的业务逻辑,并通过自定义断言提升代码的可读性和可维护性。下面我们将详细探讨这些知识点。 1. **Spring...
在J2EE应用程序中,异常处理是一个至关重要的方面,它涉及到代码的可读性、可维护性和业务逻辑的正常执行。异常处理框架的目标是简化这一过程,让开发人员能够更专注于核心业务逻辑,而非繁琐的异常处理代码。本文将...
在J2EE项目开发中,异常处理是一项至关重要的任务,它确保了系统的稳定性和用户体验。一个良好的异常处理机制能够提供详细的错误信息,帮助开发者快速定位问题,并且可以在生产环境中优雅地处理异常,防止用户看到...
通过本文介绍的自定义异常处理逻辑,可以有效解决Spring Cloud Gateway默认异常处理机制中存在的问题,使得异常信息更加符合业务需求。此外,这种方式也为开发者提供了一个良好的起点,可以根据具体项目需求进一步...
Java 异常处理框架可以分为三层结构:应用层、业务层和基础层。 应用层是指用户界面和业务逻辑的交互层,负责抛出异常和捕获异常。业务层是指业务逻辑的实现层,负责处理异常。基础层是指基础设施的实现层,负责...
例如,将特定的业务异常继承自更通用的异常类。 7. **不要在catch块中仅打印堆栈跟踪**:虽然这对于调试很有帮助,但在生产环境中,应当提供有意义的信息或者采取相应的措施。 8. **处理异常时保持代码简洁**:...
通过异常处理,我们可以将正常业务代码和异常处理代码分开,使程序的逻辑更清晰,增强程序的健壮性。 异常机制主要包含以下几个部分: 1. 异常概述:异常是程序在执行过程中发生的不正常情况,比如文件找不到、...
异常是指在程序运行过程中发生的非正常事件,例如除零溢出、数组越界、内存溢出等。这些异常事件会导致程序无法正常运行。为了提高程序的健壮性,在设计程序时需要充分考虑可能出现的异常,并采取相应的处理措施。 ...
企业业务过程的不断复杂和多变使得异常处理问题在工作流系统中无法避免。工作流异常可以定义为一种对正常工作流流程状态的偏离,这种偏离主要指工作流实例运行状态与其原始定义的不一致,在某些特殊情况下(如工作流...
综上所述,Java的异常处理机制提供了一种有效的方式来处理程序中的错误和异常情况,使得开发者能够在编写代码时更加关注业务逻辑,而将错误处理逻辑分离出来,提高代码的可读性和可维护性。通过合理地使用`try`、`...
在Struts2中,异常处理是一项重要的功能,它确保在应用程序遇到错误时能够优雅地处理,提供友好的用户反馈,并保持系统稳定性。下面将详细讨论Struts2中的异常处理机制及其相关知识点。 1. **异常处理机制概述** ...
相比之下,Linux内核中的异常处理机制(有时被称为“非结构化异常处理”或“NSEH”)显得更为原始且低级,主要依赖于汇编语言指令和特定的数据结构。 在Linux内核中,异常处理通常涉及以下关键组件: 1. **异常向...
在一些复杂的应用程序中,可能需要嵌套多层`try`块来更细致地控制异常处理流程。这种做法使得开发者能够针对不同级别的异常进行不同的处理策略,提高程序的健壮性。 #### 用户自定义异常类 在实际开发中,经常需要...
异常机制使得异常处理代码与正常的业务逻辑得以分离,从而提高代码的可读性和维护性。 **Java异常架构** Java异常是基于`Throwable`类构建的,它是所有异常和错误的根类。`Throwable`有两个主要的子类:`Error`和`...
6. **资源关闭**:在finally块中,务必关闭资源对象和流对象,即使有异常也要在try-catch中处理。Java 7及以上版本提供了try-with-resources语句,可以简化资源关闭。 7. **避免finally块中的return**:finally块中...
在这个层次中,开发者需要考虑如何处理业务异常,例如对输入数据的验证和处理业务逻辑过程中的异常事件。 数据访问层主要负责与数据库的交互,这个层次的异常通常涉及数据库连接问题、查询语句问题等。开发者需要在...
此外,MyBatis的异常处理通常需要在Service层或Mapper层进行,通过try-catch语句捕获数据库操作中的异常,然后转化为业务友好的异常信息。 为了提高可维护性和代码的整洁性,可以将异常处理逻辑封装到单独的服务或...
Java Web应用中的错误和异常处理是软件开发中至关重要的环节,它涉及到程序的稳定性和用户体验。传统的处理方式常常采用硬编码或try-catch语句,但这会增加代码的复杂性和维护难度,同时也可能引入安全隐患。本文...
- **控制器级别的异常处理**: 在特定的控制器或操作方法上应用异常过滤器,只对特定的请求进行异常处理。这可以通过在控制器类或操作方法上添加自定义异常过滤器实现。 - **自定义异常类**: 对于特定的业务错误,...