CN101937372B - 异常处理的方法及装置 - Google Patents

异常处理的方法及装置 Download PDF

Info

Publication number
CN101937372B
CN101937372B CN201010267778A CN201010267778A CN101937372B CN 101937372 B CN101937372 B CN 101937372B CN 201010267778 A CN201010267778 A CN 201010267778A CN 201010267778 A CN201010267778 A CN 201010267778A CN 101937372 B CN101937372 B CN 101937372B
Authority
CN
China
Prior art keywords
erst
exception
attribute information
level
abnormality processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010267778A
Other languages
English (en)
Other versions
CN101937372A (zh
Inventor
吴玲
付德平
李海峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Caxa Technology Co Ltd
Original Assignee
Caxa Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Caxa Technology Co Ltd filed Critical Caxa Technology Co Ltd
Priority to CN201010267778A priority Critical patent/CN101937372B/zh
Publication of CN101937372A publication Critical patent/CN101937372A/zh
Application granted granted Critical
Publication of CN101937372B publication Critical patent/CN101937372B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种异常处理的方法及装置,其中,该方法包括:检测到指令中的一个或多个异常状态;在指令异常状态列表中查找异常状态对应的属性信息,指令异常状态列表保存各个异常状态的属性信息;显示异常状态对应的属性信息。通过本发明,能够快速准确地定位到发生异常的地点,提高异常处理的正确性和处理效率,便于软件代码维护,提高用户的易用性和软件健壮性。

Description

异常处理的方法及装置
技术领域
本发明涉及一种异常处理的方法及装置。
背景技术
计算机的异常处理功能提供了处理程序运行时出现的任何意外或异常情况的方法。异常处理使用try、catch和finally的关键字来尝试可能未成功的操作,处理失败,以及在事后清理资源。对待异常通常并不是简单地结束程序,而是转去执行某段特殊代码处理这个异常,设法恢复程序继续执行。异常发生时,系统从生成对象的代码开始,沿方法的调用栈逐层回溯,寻找相应的处理代码,并把异常对象交给该方法进行处理。
异常处理理论上有两种基本模型:一种称为“终止模型”,在这种模型中,将假设异常非常严重,以致于程序无法返回到异常发生的地方继续执行。一旦异常被抛出,就表明异常已无法挽回,也不能回来继续执行;另一种称为“恢复模型”,意思是异常处理程序的工作是修正异常,然后重新尝试调动出问题的方法。对于恢复模型,通常希望异常被处理之后能继续执行程序。在这种情况下,不是抛出异常,而是调用方法修正异常。或者把try块放在while循环里,这样就可以不断的进入try块,直到得到满意的结果。然而处理程序必须关注异常抛出的地点,这势必要包含依赖于抛出位置的非通用性代码。这增加了代码编写和维护的困难,对于异常可能会从许多地方抛出的大型程序来说更是如此。
经过发明人分析可知,由于现有的异常处理方法在遇到异常状态时就进行异常处理,由于程序代码庞大,因此会导致异常处理的过程复杂、效率低,针对相关技术中异常处理的过程复杂导致异常处理正确性低、效率低,以至于软件健壮性较差的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种异常处理的方法及装置,以解决异常处理的过程复杂导致异常处理正确性低、效率低,以至于软件健壮性较差的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种异常处理的方法。
根据本发明的异常处理的方法包括:检测到指令中的一个或多个异常状态;在指令异常状态列表中查找异常状态对应的属性信息,指令异常状态列表保存各个异常状态的属性信息;显示异常状态对应的属性信息。
进一步地,属性信息可以包括:异常编号、异常类型、异常等级、异常消息和异常解决方案。
进一步地,在指令异常状态列表中查找异常状态对应的属性信息之后,方法还可以包括:获取异常状态的异常类型或者异常等级;根据异常类型或者异常等级对异常状态进行相应的异常处理。
进一步地,根据异常类型或者异常等级对异常状态进行相应的异常处理可以包括:比较异常等级是否在预定等级的范围内,其中,当异常等级在预定等级的范围之内时,逐层返回到该异常等级对应的异常状态进行异常处理,并显示异常状态对应的属性信息;当异常等级在预定等级的范围之外时,在预定时间内对该异常等级对应的异常状态进行异常处理,该异常状态的属性信息在后台添加。
进一步地,显示异常状态对应的属性信息之前,方法还可以包括:通过传输接口在日志文件中记录该异常状态的属性信息。
进一步地,可以提供一个用户界面读取并显示异常状态对应的属性信息。
为了实现上述目的,根据本发明的另一方面,提供了一种异常处理的装置。
根据本发明的异常处理的装置包括:检测模块,用于检测到指令中的一个或多个异常状态;查找模块,用于在指令异常状态列表中查找异常状态对应的属性信息,指令异常状态列表保存各个异常状态的属性信息,其中,属性信息包括异常编号、异常类型、异常等级、异常消息和异常解决方案;显示模块,用于显示异常状态对应的属性信息。
进一步地,异常处理装置还可以包括:获取模块,用于获取异常状态的异常类型或者异常等级;处理模块,用于根据异常类型号或者异常等级对异常状态进行相应的异常处理。
进一步地,处理模块可以包括:比较模块,用于比较异常等级是否在预定等级的范围内,其中,当异常等级在预定等级的范围之内时,逐层返回到该异常等级对应的异常状态进行异常处理,并显示异常状态对应的属性信息;当异常等级在预定等级的范围之外时,在预定时间内对该异常等级对应的异常状态进行异常处理,该异常状态的属性信息在后台添加。
进一步地,装置还可以包括:保存模块,用于通过传输接口在日志文件中记录该异常状态对应的属性信息。
进一步地,显示模块可以包括:显示界面,用于提供一个用户界面读取并显示异常状态对应的属性信息。
通过本发明,采用检测到指令中的一个或多个异常状态;在指令异常状态列表中查找异常状态对应的属性信息,指令异常状态列表保存各个异常状态的属性信息;显示异常状态对应的属性信息,解决了异常处理的过程复杂导致异常处理正确性低、效率低,以至于软件健壮性较差的问题,进而达到了快速准确地定位到发生异常的地点,提高异常处理的正确性和处理效率,便于软件代码维护,提高用户的易用性和软件健壮性的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的异常处理的装置示意图;
图2是根据本发明实施例的异常处理的方法流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
根据本发明的实施例,提供了一种异常处理的装置。
图1是根据本发明实施例的异常处理的装置示意图。如图1所示,该异常处理的装置包括:检测模块11,用于检测到指令中的一个或多个异常状态;查找模块13,用于在指令异常状态列表中查找异常状态对应的属性信息,指令异常状态列表保存各个异常状态的属性信息,其中,属性信息包括异常编号、异常类型、异常等级、异常消息和异常解决方案;显示模块15,用于显示异常状态对应的属性信息。
本发明实施例中通过设置各种指令异常状态的列表对各种指令异常的多个属性信息进行定义,在逐层返回的过程中根据查找模块13获取一个或多个属性信息的组合,并将异常状态的各个属性信息显示给用户,查找模块13执行的查找过程便于操作者查找异常的抛出地点,以便后续进行正确的异常处理,即实现对异常状态进行报错。同时根据一个或多个属性信息的组合调用不同的处理方法来解决异常处理的过程复杂导致异常处理正确性低、效率低,以至于软件健壮性较差的问题。本发明的上述实施例便于软件代码维护,提高了用户的易用性和软件健壮性。
本发明中的异常属性信息可以包括以下几项:异常编号、异常类型、异常等级、异常消息和异常解决方案。其中,异常等级表示该异常的严重程度,按照严重程度对异常进行划分;异常消息为当前异常发生时所携带的信息;异常解决方案表示当前异常出现后对常产生的原因进行分析并提示解决的方案。
本发明的异常处理装置还可以包括:获取模块17,用于获取异常状态的异常类型或者异常等级;处理模块19,用于根据异常类型号或者异常等级对异常状态进行相应的异常处理。
上述实施例中优选的,设计者可以根据多个属性信息中的异常类型确定当前异常状态的层,系统根据异常类型逐层返回到该层来调用下一步的异常处理方法;另外,设计者也可以根据异常等级确定当前异常状态的层,该等级可以表征当前异常的严重程度,对异常较严重的异常状态系统根据查询结果优先调用异常处理方法执行异常处理。该实施例解决了以往异常处理过程复杂、效率低的问题,可以快速确定异常的地点。
本发明的处理模块19可以包括:比较模块,该比较模块用于比较异常等级是否在预定等级的范围内,其中,当异常等级在预定等级的范围之内时,逐层返回到该异常等级对应的异常状态进行异常处理,并显示异常状态对应的属性信息;当异常等级在预定等级的范围之外时,在预定时间内对该异常等级对应的异常状态进行异常处理,该异常状态的属性信息在后台添加。
上述实施例优选的将异常等级和设计者设定的预定等级进行比较判断,当异常的严重等级超过预定范围时,系统只在最高层的调用函数中显示异常,即对符合预定范围内的异常等级对应的异常状态进行异常函数的调用,而对底层的被调用函数不允许显示异常,只能添加异常和异常扩展信息。
在异常抛出之后,上述装置还可以包括保存模块,用于通过传输接口在日志文件中记录该异常状态对应的属性信息。该实施例中实现通过日志文件详细记录异常的详细信息,为最终的显示异常等具体操作作准备工作。
本发明的显示模块可以提供一种显示界面,用于提供一个用户界面读取并显示异常状态对应的属性信息。采用用户界面的显示方式简单、清晰,易用性高。
图2是根据本发明实施例的异常处理的方法流程图。如图1所示,该方法包括如下的步骤S202至步骤S206:
步骤S202,通过图1中的检测模块11检测到指令中的一个或多个异常状态。该步骤为用户操作过程中系统检测到异常状态。
步骤S204,通过图1中的查找模块13在指令异常状态列表中查找检测模块11检测到的异常状态对应的属性信息,指令异常状态列表保存各个异常状态的属性信息;其中,属性信息可以包括:异常编号、异常类型、异常等级、异常消息和异常解决方案。
步骤S206,通过图1种的显示模块15将显示查找模块13获取的异常状态对应的属性信息。
上述实施例通过设置各种指令异常状态的列表对各种指令异常的多个属性信息进行定义,步骤中的查找过程便于操作者查找异常的抛出地点,以便后续进行正确的异常处理,即实现对异常状态进行报错,提高了后续异常处理的正确性和效率,便于用户对软件代码维护,提高了用户的易用性和软件健壮性。
本实施例在指令异常状态列表中查找异常状态对应的属性信息之后,方法还可以包括:获取异常状态的异常类型或者异常等级;根据异常类型或者异常等级对异常状态进行相应的异常处理。
优选的,根据异常类型或者异常等级对异常状态进行相应的异常处理可以包括:比较异常等级是否在预定等级的范围内,其中,当异常等级在预定等级的范围之内时,逐层返回到该异常等级对应的异常状态进行异常处理,并显示异常状态对应的属性信息;当异常等级在预定等级的范围之外时,在预定时间内对该异常等级对应的异常状态进行异常处理,该异常状态的属性信息在后台添加。
由上述可知在在多层的异常处理调用中,对发生的异常状态加以详细描述,即设定异常状态属性信息,优选的可以定义异常等级以及异常编号等宏,本发明实施例在异常抛出时不在当前层内处理异常,把异常抛出到调用函数中,采用逐层返回到实际产生当前层异常的层获取其异常处理函数。本实施例可以将异常分为若干类,如系统、文件操作、数据库操作、使用权限等,返回时可以同时返回异常类别和编号,针对不同的异常进行相应的异常处理。
本发明实施例的操作的原则有两点:首先只有在函数自身内部发生的异常状态,才能添加异常,如果是调用其它函数发生了异常,则只在调用点添加附加信息并返回异常。另外只在最高层(例如是在预定范围内的异常等级所对应的异常所在的层)的调用函数中显示异常,底层(例如在预定范围外的异常等级所对应的异常所在的层)被调用函数不允许显示异常状态的属性信息,只能添加异常信息和异常扩展信息。其次调用函数返回的异常需要全路径处理,返回几种异常就要处理几种异常。这样保证了产生异常的属性信息不会混淆,层级分明,逐层返回。
本发明实施例中,在显示异常状态对应的属性信息之前,方法还可以包括:通过传输接口在日志文件中记录该异常状态的属性信息。
该实施例具体实施例是可以通过各个模块将异常状态的属性信息记录到日志中,最终将异常状态的属性信息显示。例如,采用一段计算机程序通过ICxErrorHandle接口处理初始化异常日志环境、异常状态的各个属性信息从日志中读写、最终在界面中显示异常状态的属性信息等具体操作,具体的异常属性信息则可以保存在ICxError接口中,即异常状态的详细信息记录在日志文件中。
同时本发明可以提供一个用户界面读取并显示异常状态对应的属性信息。该用户界面简单直观。
从以上的描述中,可以看出,本发明实现了如下技术效果:本发明提高了错误处理的正确性,针对不同异常采取不同处理方式,提高软件健壮性。提高了错误处理的效率,快速准确地定位到发生异常的地点,便于代码维护。通过实际系统的运行,逐层返回机制的使用使得软件稳定性得到了有效提高,同时对于定位错误和完善地进行错误处理取得了实际效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种异常处理的方法,其特征在于,包括:
检测到指令中的一个或多个异常状态;
在指令异常状态列表中查找所述异常状态对应的属性信息,所述指令异常状态列表保存各个所述异常状态的所述属性信息;
显示所述异常状态对应的所述属性信息;
其中,在指令异常状态列表中查找所述异常状态对应的属性信息之后,所述方法还包括:获取所述异常状态的异常类型或者异常等级;根据所述异常类型或者所述异常等级对所述异常状态进行相应的异常处理,且根据多个属性信息中的异常类型确定当前异常状态的层;
根据所述异常类型或者所述异常等级对所述异常状态进行相应的异常处理的步骤包括:
比较所述异常等级是否在预定等级的范围内,其中,
当所述异常等级在所述预定等级的范围之内时,逐层返回到该异常等级对应的所述异常状态进行所述异常处理,并显示所述异常状态对应的所述属性信息;
当所述异常等级在所述预定等级的范围之外时,在预定时间内对该异常等级对应的异常状态进行所述异常处理,该异常状态的属性信息在后台添加。
2.根据权利要求1所述的方法,其特征在于,所述属性信息包括:
异常编号、异常类型、异常等级、异常消息和异常解决方案。 
3.根据权利要求1所述的方法,其特征在于,在显示所述异常状态对应的所述属性信息之前,所述方法还包括:通过传输接口在日志文件中记录该异常状态的所述属性信息。
4.根据权利要求1或3所述的方法,其特征在于,提供一个用户界面读取并显示所述异常状态对应的所述属性信息。
5.一种异常处理的装置,其特征在于,包括:
检测模块,用于检测到指令中的一个或多个异常状态;
查找模块,用于在指令异常状态列表中查找所述异常状态对应的属性信息,所述指令异常状态列表保存各个所述异常状态的所述属性信息,其中,所述属性信息包括异常编号、异常类型、异常等级、异常消息和异常解决方案;
显示模块,用于显示所述异常状态对应的所述属性信息;
所述装置还包括:获取模块,用于获取所述异常状态的异常类型或者所述异常等级;处理模块,用于根据所述异常类型号或者所述异常等级对所述异常状态进行相应的异常处理;
其中,所述处理模块包括:比较模块,用于比较所述异常等级是否在预定等级的范围内,并根据多个属性信息中的异常类型确定当前异常状态的层,其中,当所述异常等级在所述预定等级的范围之内时,逐层返回到该异常等级对应的所述异常状态进行所述异常处理,并显示所述异常状态对应的所述属性信息;当所述异常等级在所述预定等级的范围之外时,在预定时间内对该异常等级对应的异常状态进行所述异常处理,该异常状态的属性信息在后台添加。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:保存模块,用于通过传输接口在日志文件中记录该异常状态对应的所述属性信息。 
7.根据权利要求6所述的装置,其特征在于,所述显示模块包括:显示界面,用于提供一个用户界面读取并显示所述异常状态对应的所述属性信息。 
CN201010267778A 2010-08-30 2010-08-30 异常处理的方法及装置 Active CN101937372B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010267778A CN101937372B (zh) 2010-08-30 2010-08-30 异常处理的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010267778A CN101937372B (zh) 2010-08-30 2010-08-30 异常处理的方法及装置

Publications (2)

Publication Number Publication Date
CN101937372A CN101937372A (zh) 2011-01-05
CN101937372B true CN101937372B (zh) 2012-10-10

Family

ID=43390716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010267778A Active CN101937372B (zh) 2010-08-30 2010-08-30 异常处理的方法及装置

Country Status (1)

Country Link
CN (1) CN101937372B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043682B (zh) * 2011-01-27 2013-04-10 中国农业银行股份有限公司 一种工作流异常处理方法和系统
CN103377094B (zh) * 2012-04-12 2016-08-03 金蝶软件(中国)有限公司 异常监测方法和装置
CN103731729A (zh) * 2013-11-26 2014-04-16 乐视致新电子科技(天津)有限公司 智能电视媒体播放器及其异常处理方法、智能电视
CN103794536B (zh) * 2014-02-20 2017-01-25 北京七星华创电子股份有限公司 半导体设备运动传输模块的异常处理方法
CN104317666B (zh) * 2014-10-23 2018-08-10 百度在线网络技术(北京)有限公司 一种异常处理方法及装置
CN104461843B (zh) * 2014-10-31 2017-11-10 北京思特奇信息技术股份有限公司 一种异常信息管理的方法及系统
CN104683154A (zh) * 2015-03-09 2015-06-03 联想(北京)有限公司 异常处理方法、终端设备以及服务器
CN105183488B (zh) * 2015-10-08 2019-02-01 深圳Tcl数字技术有限公司 网页脚本异常处理方法及装置
CN106899419B (zh) * 2015-12-17 2020-11-10 北京网御星云信息技术有限公司 一种实现异常处理的方法、装置及请求端
CN107037782B (zh) * 2017-05-10 2019-09-17 北京数码大方科技股份有限公司 监控机床的方法和装置
CN108255705A (zh) * 2017-11-24 2018-07-06 平安科技(深圳)有限公司 发票领用异常的构造方法、装置、计算机设备及存储介质
CN108446185B (zh) * 2018-03-27 2021-07-23 武汉斗鱼网络科技有限公司 异常处理方法、装置、电子终端及可读存储介质
CN108491245A (zh) * 2018-04-02 2018-09-04 武汉斗鱼网络科技有限公司 用于提高弹框容错率的模块和相关电子设备
CN110414063A (zh) * 2019-06-29 2019-11-05 万翼科技有限公司 模型修复方法及相关产品
CN112783737B (zh) * 2019-11-07 2024-04-16 北京京东尚科信息技术有限公司 一种显示方法和装置
CN111913827A (zh) * 2020-08-22 2020-11-10 武汉空心科技有限公司 一种基于策略配置的工作平台异常处理方法及系统
CN117215469B (zh) * 2023-09-15 2024-10-18 中电金信软件有限公司 一种银行管理中资本计量的数据分析方法以及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599039B (zh) * 2008-06-03 2011-11-02 华为技术有限公司 嵌入式c语言环境下异常处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵红侠等."基于多Agent的Web服务异常处理模型".《计算机应用与软件》.2010,第27卷(第1期),第61-64页.

Also Published As

Publication number Publication date
CN101937372A (zh) 2011-01-05

Similar Documents

Publication Publication Date Title
CN101937372B (zh) 异常处理的方法及装置
CN104081380A (zh) 对来自多个数据源的解决方案的识别和排序
US20150248421A1 (en) System and method for recovering system status consistently to designed recovering time point in distributed database
Barmpis et al. Comparative analysis of data persistence technologies for large-scale models
EP2695057A1 (en) Creating a correlation rule defining a relationship between event types
US20180336019A1 (en) Systems and methods for application re-use by type pattern matching
CN106844089B (zh) 一种用于恢复树形数据存储的方法与设备
CN109240876A (zh) 实例监控方法、计算机可读存储介质和终端设备
US20140379753A1 (en) Ambiguous queries in configuration management databases
CN102799513B (zh) 故障问题的展示方法及展示系统
Hoßbach et al. Anomaly management using complex event processing: Extending data base technology paper
CN105468511A (zh) 网页脚本错误定位方法及装置
CN109542657A (zh) 系统异常的处理方法及服务器
CN106294089A (zh) 辅助对被监控内存空间的访问监控的方法和装置
Li et al. ε-matching: Event processing over noisy sequences in real time
CN104866425A (zh) 一种数据库压力测试的方法
CN106326236A (zh) 一种网页内容识别方法和系统
CN103426049A (zh) 一种基于web的化合物管理方法及系统
US20140222496A1 (en) Determining cost and risk associated with assets of an information technology environment
CN109885505A (zh) 一种故障定位的方法、系统及相关组件
Khoussainova et al. Probabilistic rfid data management
CN102866964B (zh) 一种保护存储设备上数据的方法及装置
CN111708576A (zh) 跨操作系统的设备网卡适配和管理方法、装置及系统
CN116414854A (zh) 数据资产查询方法、装置、计算机设备和存储介质
CN109976576A (zh) 一种移动终端屏幕防误触的方法与设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: CAXA TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: BEIJING DIGITAL DAFANG TECHNOLOGY CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 100080, Room 802, satellite building, No. 63, Zhichun Road, Beijing, Haidian District

Patentee after: Beijing CAXA Technology Co., Ltd.

Address before: 100080, Room 802, satellite building, No. 63, Zhichun Road, Beijing, Haidian District

Patentee before: Beijing Digital Dafang Technology Co., Ltd.