一种优秀的异常处理方法

文档序号:9288354阅读:367来源:国知局
一种优秀的异常处理方法
【技术领域】
[0001]本发明涉及JA步A技术WEB开发领域,具涉及一种优秀的异常处理方法。
【背景技术】
[0002]目前,在J2EE处理异常中,通常是通过捕获具体的异常,并在业务代码中对异常进行处理。这种现状造成的问题是业务逻辑和异常处理逻辑混在一起,让整个系统变得更负责;而且每一个业务逻辑都需要处理相应的异常,增加了平台的代码量、降低研发效率;最后就是,当需要对异常处理机制进行调整时,所有的业务模块都需要调整,极度的不方便。比如,之前当平台出现异常时,将异常写入数据库即可;现在改为出现异常时,要马上通过邮件通知技术人员处理,这就需要所有的异常处理代码都需要调整,大大增加了系统的维护难度。

【发明内容】

[0003]本发明解决的技术问题在于提供一种优秀的异常处理方法,以实现平台研发过程中异常的统一、高效处理。
[0004]本发明解决上述技术问题的技术方案是:
[0005]当平台代码抛出异常时,将异常转化为RuntimeExcept1n类型的异常类A,但不作任何处理,而是再向外抛送;平台再配置Struts2拦截器并设为默认拦截器,在拦截器中捕获A类型的异常,并作统一处理;当异常处理机制改变时,改变拦截器的方法即可。
[0006]2、根据权利要求1所述的优秀的异常处理方法,,其特征在于:所述的方法包括如下步骤:
[0007]第I步、首先实现RuntimeExcept1n的自定义异常类WebExcept1n ;
[0008]第2步、在业务代码中,将捕获的异常转化WebExcept1n类型异常,并向外抛出;
[0009]第3步、实现struts2的拦截器Lo其Interceptor,并设置为默认拦截器;
[0010]第4步、实现Lo其Interceptor的intercept方法,在intercept方法中捕获WebExcept1n 的异常,
[0011]第5步、在intercept中统一处理捕获的类型异常;处理方式可以写入数据库、文件或通知相关人员。
[0012]本发明的有益效果是:
[0013]本发明借助StrutS2的拦截器,统一处理平台的所有异常问题;在业务模块中,只做异常的捕获,而不做具体的处理,具体的处理将统一在拦截器中。因为该方法是将平台的所有异常都转化为RuntimeExcept1n类型的异常,因此平台出现无法预测的异常的也不会影响平台的正常运行;特别是平台使用sprin其框架进行事务处理时,也不会影响事务的正常运作;其次,在业务实现中,并不具体处理异常,而是简单的将异常转化为类型A,再对外抛出,大大减少的业务模块的开发量;提高开发效率。最后,通过在拦截器中捕获异常,并统一处理异常,当异常处理机制改变时,只需要改变拦截器的方法即可,业务模块代码无须做任何的改动,即方便又灵活。这样不但让平台的业务与异常处理分开,使用平台更简单、业务更清晰,而且它也让平台的异常处理更灵活,降低平台的升级与维护。
【附图说明】
[0014]下面结合附图对本发明进一步说明:
[0015]图1为本发明的流程图。
【具体实施方式】
[0016]如图1所示,本发明当平台代码抛出异常时,将异常转化为RuntimeExcept1n类型的异常类A,但不作任何处理,而是再向外抛送;平台再配置Struts2拦截器并设为默认拦截器,在拦截器中捕获A类型的异常,并作统一处理;当异常处理机制改变时,改变拦截器的方法即可。
[0017]所述的方法包括如不步骤:
[0018]第I步、首先实现RuntimeExcept1n的自定义异常类WebExcept1n ;
[0019]第2步、在业务代码中,将捕获的异常转化WebExcept1n类型异常,并向外抛出;
[0020]第3步、实现struts2的拦截器Lo其Interceptor,并设置为默认拦截器;
[0021]第4步、实现Lo其Interceptor的intercept方法,在intercept方法中捕获WebExcept1n 的异常,
[0022]第5步、在intercept中统一处理捕获的类型异常;处理方式可以写入数据库、文件或通知相关人员。
[0023]下面具体以教育云共享平台的异常处理为例;具体包括如下步骤:
[0024]第I步、首先实现RuntimeExcept1n的自定义异常类WebExcept1n ;
[0025]第2步、在业务代码中,通过try-c晰tc具捕获平台的所有异常,并将异常转化WebExcept1n类型异常,同时通过t具row语句向外抛出;
[0026]第3步、实现struts2的拦截器Lo其Interceptor,并实现其intercept方法。在方法中捕获WebExapt1n类型的异常,并在c晰tc具语句中把异常信息写入数据库和通过邮件通知管理员;
[0027]第4步、将Lo其Interceptor配置至struts2的默认拦截器。
【主权项】
1.一种优秀的异常处理方法,其特征在于:当平台代码抛出异常时,将异常转化为RuntimeExcept1n类型的异常类A,但不作任何处理,而是再向外抛送;平台再配置Struts2拦截器并设为默认拦截器,在拦截器中捕获A类型的异常,并作统一处理;当异常处理机制改变时,改变拦截器的方法即可。2.根据权利要求1所述的优秀的异常处理方法,,其特征在于:所述的方法包括如下步骤: 第I步、首先实现RuntimeExcept1n的自定义异常类WebExcept1n ; 第2步、在业务代码中,将捕获的异常转化WebExcept1n类型异常,并向外抛出; 第3步、实现struts2的拦截器Loglnterceptor,并设置为默认拦截器; 第4步、实现Loglnterceptor的intercept方法,在intercept方法中捕获WebExcept1n 的异常, 第5步、在intercept中统一处理捕获的类型异常;处理方式可以写入数据库、文件或通知相关人员。
【专利摘要】本发明涉及JAVA技术WEB开发领域,具涉及一种优秀的异常处理方法。本方法当平台代码抛出异常时,将异常转化为RuntimeException类型的异常类A,但不作任何处理,而是再向外抛送;平台再配置Struts2拦截器并设为默认拦截器,在拦截器中捕获A类型的异常,并作统一处理;当异常处理机制改变时,改变拦截器的方法即可。本发明有效解决了J2EE中处理异常的效率问题;可以用于J2EE的处理异常中。
【IPC分类】G06F11/07
【公开号】CN105005508
【申请号】CN201510386072
【发明人】关班记, 季统凯
【申请人】国云科技股份有限公司
【公开日】2015年10月28日
【申请日】2015年7月2日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1