一种异常处理的方法、装置和软件系统制造方法及图纸

技术编号:7244235 阅读:183 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于计算机软件系统领域,提供了一种异常处理的方法、装置和软件系统。该方法包括下述步骤:对异常进行标注,标注出其对应的异常处理接口;系统抛出异常后,统一捕捉进行过异常标注的异常;根据异常标注找到对应的异常处理接口并存储异常和异常处理接口的对应关系;调用异常处理接口处理异常。本发明专利技术实施例统一集中处理异常的方法,大大减少了程序员工作量和出错的机会,精简了程序代码,提高了产品质量。也解决了程序员每出现一次异常都要单独写一次处理代码的问题,实现了对同类型异常的相同处理。且代码的复用性高,能够在不同环境对异常进行处理。

【技术实现步骤摘要】

本专利技术属于计算机软件系统领域,尤其涉及一种异常处理的方法、装置和软件系统
技术介绍
异常是程序运行过程中出现的错误。传统的异常处理方式主要是程序员直接处理。这种方法含有多个异常处理语句,造成了代码的臃肿;异常处理分散在各个代码文件中间,针对同一类型异常,需要程序员在多个代码中书写或拷贝,极易出现不一致的处理;同一类型的错误有不同的表示,这导致处理的复杂化;一个项目中各层对异常处理的方式不同,不同的层编写不同的代码,会造成代码使用麻烦以及复用性低的问题,此时若需修改, 可能改动较大。
技术实现思路
本专利技术实施例的目的在于提供一种简单、便捷的异常处理方法,旨在解决异常处理代码分散、繁琐,处理复杂,复用性低的问题。本专利技术实施例是这样实现的,一种异常处理方法,其特征在于,所述方法包括以下步骤对异常进行标注,标注出处理此异常所需的异常处理接口 ;系统抛出异常后,统一捕捉进行过异常标注的异常;根据异常标注找到对应的异常处理接口并存储异常和异常处理接口的对应关系;调用异常处理接口处理异常。本专利技术实施例的另一目的在于提供一种简单、便捷的异常处理装置,所述装置包括异常标注单元,标注出处理各类异常所需的对应异常处理接口 ;异常捕捉单元,捕捉异常标注单元标注了的异常信息;异常配置单元,根据异常标注单元中标注的异常处理接口,保存异常和异常处理接口的对应关系再决定调用处理异常捕捉单元捕捉的异常所需的异常处理接口;异常处理单元,调用异常配置单元所决定的异常处理接口处理异常。在本专利技术实施例中,统一异常集中处理的方法,将多种类型异常的处理集中起来, 解决了程序员每出现一次异常都要单独写一次处理方法的问题,实现了对同类型异常的相同处理,大大减少了程序员的工作量和出错的机会,精简了程序代码,提高了产品质量。且可用于项目中各层,使得代码的复用性高,能够在不同环境对异常进行处理,不必每次为不同的应用编写代码。附图说明图1是本专利技术第一实施例提供的异常处理方法实现流程图;图2是本专利技术提供的类的示意图;图3是本专利技术第二实施例提供的异常处理方法实现流程图;图4是本专利技术第三实施例提供的异常处理方法实现流程图;图5是本专利技术实施例提供的异常处理装置的结构框图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。 本专利技术实施例,首先进行异常标注,标注出处理此异常的异常处理接口。在系统抛出异常后捕捉标注了的异常,然后读取异常堆栈中的类及其父类,查找其异常标注,根据异常标注找到对应的异常处理接口并存储异常和异常处理接口的对应关系。最后,调用对应的异常处理接口处理异常。本专利技术实施例提供了一种异常处理的方法、装置所述方法包括对异常进行标注,标注出处理此异常所需的异常处理接口 ;系统抛出异常后,统一捕捉进行过异常标注的异常;根据异常标注找到对应的异常处理接口并存储异常和异常处理接口的对应关系;调用异常处理接口处理异常。所述装置包括异常标注单元,标注出处理各类异常所需的对应异常处理接口 ;异常捕捉单元,捕捉异常标注单元标注了的异常信息;异常配置单元,根据异常标注单元中标注的异常处理接口,保存异常和异常处理接口的对应关系再决定调用处理异常捕捉单元捕捉的异常所需的异常处理接口;异常处理单元,调用异常配置单元所决定的异常处理接口处理异常。为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。实施例一图1示出了本专利技术第一实施例提供的异常处理的实现流程,详述如下在本专利技术实施例中,首先需要解释贯穿本专利技术实施例的异常处理接口类。其一为程序员根据自己需要解决的异常类型自定义的异常处理接口 Handler。另一为本专利技术实施例中用于处理常见异常的默认异常处理接口 DefaultHandler (如图2所示)。在步骤SlOl中,对异常进行标注,标注出处理此异常所需的异常处理接口。在本专利技术实施例中,异常标注是指通过异常标注类Exc印tionHandler,用 Java自带的标注函数标明处理异常的异常处理接口 Handler或者默认异常处理接口 DefaultHandler0异常有类级别和方法级别两种。在进行异常标注的时候,既可以是对类进行异常标注,也可以是对方法进行标注。具体标注方式如下若是类级别,则为OExceptionHandlerpublic class Test{}若是方法级别,则为 ExceptionHandler(handler = RestHandler. class)public void methodA () throws RestException {}由上可知,对异常类进行异常标注,则这个类中的所有方法均不必再单独进行异常标注,默认使用此类标注的异常处理接口进行处理。对异常方法进行异常标注,则需要对每个方法单独标注异常处理接口。在步骤S102中,系统抛出异常后,统一捕捉进行过异常标注的异常。在本专利技术实施例中,统一捕捉的异常仅限于标注了的异常。用异常捕捉工具类 HandlerUtil 实现。。其实现方法如下try {//some code here} catch(XxxException e){HandlerUti1. handle(e,RestException. class) ;}如上所示,try运行可能发生异常的代码后,使用异常捕捉工具类HandlerUtil来捕捉异常。在步骤S103中,判断是否存在异常与异常处理接口的对应关系,是则直接执行步骤S105,否则先执行步骤S104,然后执行步骤S105 ;在本专利技术实施例中,先读取异常堆栈中的类及其父类,查找其异常标注。然后通过查找到的异常标注得知处理此异常需要的异常处理接口后,将此异常与该异常处理接口的对应关系存储在列表中,此过程称为异常配置。在本专利技术实施例中,由于在异常的类型相同的情况下,如果每次处理这类异常前都要配置一次则太过繁琐。因此,配置的时候会在某类异常第一次出现时进行配置,配置完成后记录下异常与异常处理接口的对应关系,这样下次再出现这类异常的时候就可直接通过读取异常与异常处理接口的对应关系找到对应的异常处理接口,不需要再重新配置一次了。这时,就要先判断异常是否已经进行过配置了,即是否存在异常与异常处理接口的对应关系。在步骤S104中,根据异常标注找到对应的异常处理接口并存储异常和异常处理接口的对应关系。在本专利技术实施例中,以下步骤需要使用到3个类。如图2所示,类 HandlerContextPopulato及类HandlerContext都为异常配置类。异常配置类 HandlerContext用于存储和读取异常与异常处理接口的对应关系。异常配置类 HandlerContextPopulator用于读取异常堆栈中的类及其父类,查找其异常标注。 HandlerHelper为异常助手类,决定调用哪个异常处理接口 Handler或默认异常处理接口 DefaultHandler 处理异常。在本专利技术实施例中,对于没有配置过的异常,要先进行异常配置。使用类 HandlerContextPopulator读取异常堆栈中的类及其父类,查找其异常标注。找到异常标注后,读取异常标注本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:曾功立
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术