CN115587046A - 代码异常的处理方法、装置、存储介质及计算机设备 - Google Patents
代码异常的处理方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN115587046A CN115587046A CN202211391536.1A CN202211391536A CN115587046A CN 115587046 A CN115587046 A CN 115587046A CN 202211391536 A CN202211391536 A CN 202211391536A CN 115587046 A CN115587046 A CN 115587046A
- Authority
- CN
- China
- Prior art keywords
- target
- exception
- called
- code segment
- abnormal
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
Abstract
本发明公开了一种代码异常的处理方法、装置、存储介质及计算机设备,涉及信息及数字医疗技术领域,其中方法包括:接收待调用方法对应的异常检测指令;基于待调用方法对应的标识信息,在所述待调用方法对应的方法执行入口中插入预设异常检测函数,并利用所述预设异常检测函数获取所述待调用方法对应的异常信息;基于所述异常信息,确定目标异常代码段对应的目标位置信息和目标处理方式;基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单;将所述异常处理单发送至开发人员终端,以便开发人员基于所述异常处理单对所述待调用方法中的所述目标异常代码段进行处理。本发明使用与对异常代码进行处理。
Description
技术领域
本发明涉及信息技术领域,尤其是涉及一种代码异常的处理方法、装置、存储介质及计算机设备。
背景技术
程序开发过程中需要调用方法,而调用的方法可能会存在异常代码,基于此,为了保证开发出稳定的应用程序,调用方法中的异常代码的处理变得尤为重要。
目前,在对异常代码进行处理的过程中,通常通过人工来对调用方法中的代码进行检测,来确定调用方法中是否存在异常代码。然而,这种方式需要开发人员遍历调用方法中的所有代码,降低了代码异常的处理效率,与此同时,由于开发人员的技术水平参差不齐,会出现异常代码确定错误的情况,从而导致异常代码的处理精度较低。
发明内容
本发明提供了一种代码异常的处理方法、装置、存储介质及计算机设备,主要在于能够提高异常代码的处理效率和处理精度。
根据本发明的第一个方面,提供一种代码异常的处理方法,包括:
接收待调用方法对应的异常检测指令,其中,所述异常检测指令中携带有所述待调用方法对应的标识信息;
基于所述标识信息,在所述待调用方法对应的方法执行入口中插入预设异常检测函数,并利用所述预设异常检测函数获取所述待调用方法对应的异常信息;
基于所述异常信息,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式;
基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单;
将所述异常处理单发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理单对所述待调用方法中的所述目标异常代码段进行处理。
根据本发明的第二个方面,提供一种代码异常的处理装置,包括:
接收单元,用于接收待调用方法对应的异常检测指令,其中,所述异常检测指令中携带有所述待调用方法对应的标识信息;
获取单元,用于基于所述标识信息,在所述待调用方法对应的方法执行入口中插入预设异常检测函数,并利用所述预设异常检测函数获取所述待调用方法对应的异常信息;
确定单元,用于基于所述异常信息,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式;
生成单元,用于基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单;
处理单元,用于将所述异常处理单发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理单对所述待调用方法中的所述目标异常代码段进行处理。
根据本发明的第三个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
接收待调用方法对应的异常检测指令,其中,所述异常检测指令中携带有所述待调用方法对应的标识信息;
基于所述标识信息,在所述待调用方法对应的方法执行入口中插入预设异常检测函数,并利用所述预设异常检测函数获取所述待调用方法对应的异常信息;
基于所述异常信息,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式;
基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单;
将所述异常处理单发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理单对所述待调用方法中的所述目标异常代码段进行处理。
根据本发明的第四个方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
接收待调用方法对应的异常检测指令,其中,所述异常检测指令中携带有所述待调用方法对应的标识信息;
基于所述标识信息,在所述待调用方法对应的方法执行入口中插入预设异常检测函数,并利用所述预设异常检测函数获取所述待调用方法对应的异常信息;
基于所述异常信息,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式;
基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单;
将所述异常处理单发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理单对所述待调用方法中的所述目标异常代码段进行处理。
根据本发明提供的一种代码异常的处理方法、装置、存储介质及计算机设备,与目前在对异常代码进行处理的过程中,通常通过人工来对调用方法中的代码进行检测,来确定调用方法中是否存在异常代码的方式相比,本发明通过接收待调用方法对应的异常检测指令,其中,所述异常检测指令中携带有所述待调用方法对应的标识信息;基于所述标识信息,在所述待调用方法对应的方法执行入口中插入预设异常检测函数,并利用所述预设异常检测函数获取所述待调用方法对应的异常信息;基于所述异常信息,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式;基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单;将所述异常处理单发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理单对所述待调用方法中的所述目标异常代码段进行处理,由此通过利用预设异常检测函数获取所述待调用方法中的异常信息,并基于所述异常信息确定所述待调用方法中的目标异常代码段对应的目标异常位置信息和目标处理方式,最终基于所述目标位置信息和目标处理方式,对所述待调用方法中的目标异常代码进行处理,提高了异常代码的处理效率,与此同时,避免由于开发人员技术水平参差不齐导致异常代码确定错误,从而导致异常代码处理错误的情况,进而提高了异常代码的处理精度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例提供的一种代码异常的处理方法流程图;
图2示出了本发明实施例提供的另一种代码异常的处理方法流程图;
图3示出了本发明实施例提供的一种代码异常的处理装置的结构示意图;
图4示出了本发明实施例提供的另一种代码异常的处理装置的结构示意图;
图5示出了本发明实施例提供的一种计算机设备的实体结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
目前,对异常代码进行处理的过程中,通常通过人工来对调用方法中的代码进行检测,来确定调用方法中是否存在异常代码的方式,导致异常代码的处理效率较低,与此同时,由于开发人员的技术水平参差不齐,会出现异常代码确定错误的情况,从而导致异常代码的处理精度较低。
为了解决上述问题,本发明实施例提供了一种代码异常的处理方法,如图1所示,所述方法包括:
101、接收待调用方法对应的异常检测指令,其中,所述异常检测指令中携带有所述待调用方法对应的标识信息。
其中,所述待调用方法为未经过检测的方法,所述待调用方法具体可以为开发医保信息管理系统、个人健康档案管理系统过程中用到的方法。所述标识信息可以是所述待调用方法的图标信息或字符信息,只要通过所述标识信息能唯一确定所述待调用方法,本发明实施例对所述标识信息的形式不做具体限定。
对于本发明实施例,为了克服现有技术中待调用方法中异常代码的处理效率较低和处理精度较低的问题,本发明实施例通过利用预设异常检测函数获取所述待调用方法中的异常信息,并基于所述异常信息确定所述待调用方法中的目标异常代码段对应的目标异常位置信息和目标处理方式,最终基于所述目标位置信息和目标处理方式,对所述待调用方法中的目标异常代码进行处理,提高了异常代码的处理效率,与此同时,避免由于开发人员技术水平参差不齐导致异常代码确定错误,从而导致异常代码处理错误的情况,进而提高了异常代码的处理精度。本发明实施例主要应用于对异常代码进行处理的场景,本发明实施例的执行主体为能够对异常代码进行处理的装置或者设备,具体可以设置在客户端或者服务器一侧。
具体地,研发一款方法异常检测系统,当要编写某个应用程序,例如,医保信息管理应用程序时,首先需要将该程序中调用的各个方法传入至方法异常检测系统,之后,点击所述方法异常检测系统中的预设检测标识,异常检测系统便接收到所述待调用方法对应的异常检测指令,其中,所述异常检测指令中携带有所述待调用方法对应的标识信息,所述异常检测系统基于所述标识信息,便对所述待调用方法进行异常检测,检测完毕,会抛出待调用方法对应的异常信息,捕获所述异常信息,并基于所述异常信息,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式,最终基于所述目标位置信息和所述目标处理方式,对所述待调用方法中的目标异常代码进行处理,提高了异常代码的检测效率,从而提高了异常代码的处理效率。
102、基于所述标识信息,在所述待调用方法对应的方法执行入口中插入预设异常检测函数,并利用所述预设异常检测函数获取所述待调用方法对应的异常信息。
其中,所述预设异常检测函数可以为show-thorws函数。所述异常信息包括待调用方法中各个异常代码段对应包名、类名和方法名,以及所述各个异常代码段对应的异常类型、异常发生时间等信息。
对于本发明实施例,将所述show-thorws函数插入至待调用方法对应的方法执行入口中,即插入至该待调用方法对应的代码语句的开头位置,当执行该调用方法时,便会启动show-thorws函数开始工作,利用show-thorws函数检测待调用方法中存在的各种异常,并将检测出的各种异常对应的异常信息以弹窗的形式抛出,以便检测人员能够观察到异常信息,并捕获所述异常信息,最终基于所述异常信息,对所述待调用方法中的目标异常代码进行处理,提高了异常代码的处理效率,与此同时,基于异常信息中的目标处理方式,开发人员能够精准地对目标异常代码进行处理,避免开发人员自己确定异常代码的处理逻辑,导致开发人员由于技术水平的参差不齐导致处理逻辑确定错误,从而导致异常代码处理错误的情况,进而提高了异常代码的处理精度。
103、基于所述异常信息,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式。
其中,所述目标异常代码端为需要进行异常处理的代码段。
对于本发明实施例,在捕获到所述待调用方法对应的异常信息后,在所述异常信息中确定各个代码段对应的包名、类名和方法名,基于所述包名、类名和方法名,能够确定各个异常代码段在所述待调用方法中的位置信息,因为各个异常代码段中可能会存在可以忽略处理的异常代码段,因此,需要在异常信息中确定各个异常代码段对应的异常类型,并基于所述异常类型,确定需要进行异常处理的目标代码段,同时,基于所述目标异常代码段对应的异常类型,还能够确定所述目标异常代码段对应的目标处理方式,并在各个代码段对应的位置信息中确定所述目标异常代码段对应的目标位置信息,最终基于所述目标位置信息和所述目标处理方式,对所述待调用方法中的目标异常代码进行处理,通过利用所述目标处理方式对应目标异常代码段进行处理,能够避免人为确定处理方式导致异常代码的处理准确度较低的问题,从而提高了异常代码的处理精度。
104、基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单。
其中,所述异常处理单中记录至待调用方法中的目标异常代码段对应的目标位置信息、目标处理方式、待调用方法标识信息、待调用方法对应的存储位置、目标异常代码段对应的处理人员名称等信息。
对于本发明实施例,在基于所述异常信息解析出所述待调用方法中需要处理的目标异常代码段对应的目标位置信息和目标处理方式后,将所述目标位置信息和目标处理方式录入至异常处理模板中,便生成所述目标异常代码段对应的异常处理单,并将所述异常处理单发送至开发人员终端,开发人员终端的开发人员接收到所述异常处理单后,基于所述异常处理单中记录各项信息,对所述待调用方法中的目标异常代码段进行处理,最终得到处理好的待调用方法,需要说明的是,本发明实施例中的目标异常代码段可以是一个,也可以为多个,具体数量本发明实施例不做具体限定。由此通过利用预设异常检测函数获取待调用方法对应的异常信息,并基于所述异常信息对所述待调用方法中的异常代码进行处理,提高了异常代码的处理效率。
105、将所述异常处理单发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理单对所述待调用方法中的所述目标异常代码段进行处理。
对于本发明实施例,在基于所述目标异常代码段对应的目标位置信息和目标处理方式,生成所述所述目标异常代码段对应的异常处理单后,为了对所述目标异常代码段进行处理,需要将所述异常处理单通过邮件等通讯工具发送至开发人员终端,当开发人员终端的开发人员接收到所述异常处理单后,基于所述异常处理单中记录的待调用方法对应的存储位置获取所述待调用方法,并基于所述异常处理单中记录的目标异常代码段在所述待调用方法中的目标位置信息,以及对所述目标异常代码段进行的目标处理方式,对所述待调用方法中的目标异常代码段进行处理,最终得到处理好的待调用方法,由此通过利用预设异常检测函数获取所述待调用方法中的异常信息,并基于所述异常信息确定所述待调用方法中的目标异常代码段对应的目标异常位置信息和目标处理方式,最终基于所述目标位置信息和目标处理方式,对所述待调用方法中的目标异常代码进行处理,提高了异常代码的处理效率,与此同时,避免由于开发人员技术水平参差不齐导致异常代码确定错误,从而导致异常代码处理错误的情况,进而提高了异常代码的处理精度。
根据本发明提供的一种代码异常的处理方法,与目前在对异常代码进行处理的过程中,通常通过人工来对调用方法中的代码进行检测,来确定调用方法中是否存在异常代码的方式相比,本发明通过接收待调用方法对应的异常检测指令,其中,所述异常检测指令中携带有所述待调用方法对应的标识信息;基于所述标识信息,在所述待调用方法对应的方法执行入口中插入预设异常检测函数,并利用所述预设异常检测函数获取所述待调用方法对应的异常信息;基于所述异常信息,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式;基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单;将所述异常处理单发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理单对所述待调用方法中的所述目标异常代码段进行处理,由此通过利用预设异常检测函数获取所述待调用方法中的异常信息,并基于所述异常信息确定所述待调用方法中的目标异常代码段对应的目标异常位置信息和目标处理方式,最终基于所述目标位置信息和目标处理方式,对所述待调用方法中的目标异常代码进行处理,提高了异常代码的处理效率,与此同时,避免由于开发人员技术水平参差不齐导致异常代码确定错误,从而导致异常代码处理错误的情况,进而提高了异常代码的处理精度。
进一步的,为了更好的说明上述对代码异常进行处理的过程,作为对上述实施例的细化和扩展,本发明实施例提供了另一种代码异常的处理方法,如图2所示,所述方法包括:
201、接收待调用方法对应的异常检测指令,其中,所述异常检测指令中携带有所述待调用方法对应的标识信息。
对于本发明实施例,预先将待调用方法传入至异常检测系统中,在异常检测系统的方法主界面中会显示各个调用方法,当把鼠标移动至待调用方法对应所在的行时,会在改行显示于预设按钮标识,点击所述预设按钮标识,即触发了所述待调用方法对应的异常检测指令,当异常检测系统接收到所述异常检测指令时,基于所述预设异常检测指令中携带的所述待调用方法对应的标识信息,对所述待调用方法进行异常检测。
202、基于所述标识信息,在所述待调用方法对应的方法执行入口中插入预设异常检测函数。
对于本发明实施例,当接收到所述待调用方法对应的异常检测指令时,将所述预设异常检测函数插入至待调用方法对应的代码语句的执行入口中,基于所述异常检测指令,所述预设异常检测函数开始工作,同时待调用方法也开始执行,当待调用方法执行完毕,所述预设异常检测函数便能够检测出待调用方法在执行过程中产生的各种异常,并将各种异常以异常信息的形式抛出。
203、利用所述预设异常检测函数获取所述待调用方法中的各个异常代码段对应的包名、类名和方法名,以及所述各个异常代码段对应的异常类型。
其中,所述异常类型包括算数异常、空指针异常、数组越界异常、索引越界异常、类型转换异常等,对于本发明实施例,在将所述预设异常检测函数插入至待调用方法对应的方法执行入口后,执行所述待调用方法的同时,预设异常检测函数也开始执行,当待调用方法执行结束,所述预设异常检测函数能够获取该待调用方法对应的所有异常,即能够获取该待调用方法中各个异常代码段对应包名、类名和方法名,同时,利用预设异常检测函数还能够获取该待调用方法中农各个异常代码段对应的异常类型,例如,需要将两个整数相除,但被除数为0,此时在编写该方法时并不会报错,但该方法执行后便会报错,该种异常类型为算数异常,同时异常信息中还会包括两个相除的异常代码片段对应的包名、类名和方法名。
204、基于所述各个异常代码段对应的包名、类型和方法名,以及所述各个异常代码段对应的异常类型,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式。
对于本发明实施例,在利用预设异常检测函数抛出所述待调用方法中各个异常代码段对应的包名、类型和方法名,以及所述各个异常代码段对应的异常类型后,需要基于上述抛出的异常信息,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式,基于此,步骤204具体包括:基于预设异常类型白名单列表,在各个异常代码段对应的异常类型中确定需要进行处理的目标异常类型,并确定所述目标异常类型对应的异常代码段的目标包名、目标类名和目标方法名;基于所述目标包名、目标类名和目标方法名,确定所述待调用方法中的目标异常代码段对应的目标位置信息;在预设处理逻辑列表中确定与所述目标异常类型相对应的处理方式,并将所述处理方式确定为所述目标异常代码段对应的目标处理方式,其中,所述预设处理逻辑列表中存储着不同异常类型分别对应的处理方式。
其中,预设异常类型白名单列表中记录着各种不需要处理的异常类型,即该异常对方法执行不产生任何影响。
对于本发明实施例,基于待调用方法中各个异常代码对应的异常类型,将各个异常类型与预设异常类型白名单中记录的不需要进行处理的异常类型进行匹配,若待调用方法中的各个异常类型中农存在与不需要处理的异常类型相匹配的异常类型,则将该相匹配的异常类型排除,最终得到待调用方法对应的目标异常类型,基于抛出的异常信息,确定所述目标异常类型对应的目标异常代码段对应的目标包名、目标类名和目标方法名,最终基于所述目标包名、目标类名和目标方法名,确定所述目标异常代码段在所述待调用方法中的目标位置信息,与此同时,在预设处理逻辑列表中查看所述目标异常类型对应的处理方式,并将所述处理方式确定所述目标异常代码段对应的目标处理方式,其中,所述预设处理逻辑列表中记录中着各种异常类型对应的处理方式,将所述目标异常类型与所述预设处理逻辑列表中记录的各个异常类型进行相似度匹配,将相似度最大的异常类型对应的处理方式确定为所述目标异常代码段对应的目标处理方式。
205、基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单。
对于本发明实施例,在确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式后,需要基于所述目标处理方式和所述目标位置信息,生成所述待调用方法对应的异常处理单,基于此,步骤205具体包括:确定所述待调用方法所属的方法类型,并确定与所述方法类型相对应的异常处理模板;基于所述异常处理模板、所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单。
具体地,在确定所述目标异常代码段对应的目标位置信息和目标处理方式后,异常检测系统基于所述待调用方法对应的方法类型,会自动链接出异常处理模板,所述异常处理模板中包含所述待调用方法对应的方法名称信息、待调用方法存储的位置信息、异常检测人员名称、异常检测人员所在部门等信息,同时将获取的目标异常代码段在待调用方法中的目标位置信息,以及所述目标异常代码对应的目标处理方式自动填入至异常处理模板的相应位置处,填写完毕后,系统便自动生成所述待调用方法对应的异常处理单,并将所述异常处理单发送至开发人员终端,以便开发人员终端的开发人员基于所述异常处理单,对所述待调用方法中的目标异常代码段进行处理。
206、将所述异常处理单发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理单对所述待调用方法中的所述目标异常代码段进行处理。
对于本发明实施例,在生成所述待调用方法对应的异常处理单后,为了让开发人员对待调用方法中的目标异常代码进行处理,需要将所述异常处理单发送至开发人员终端,基于此,步骤206具体包括:基于所述异常处理单,生成所述目标异常代码段对应的异常处理通知;调用预设通讯工具接口,将所述异常处理通知发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理通知查看所述异常处理单,对所述待调用方法中的所述目标异常代码段进行处理。
其中,预设通讯工具包括:微信、手机短信、邮件、QQ等。
对于本发明实施例,异常检测系统会基于所述异常处理单生成一条异常处理通知,并将所述异常处理通知自动通过邮件等通讯工具发送至开发人员处,所述开发人员基于邮件通知,会登录异常检测系统,在所述异常检测系统的主界面图中点击所述异常处理单,便会看到异常处理单详情界面中记录的目标异常代码段在所述待调用方法中的位置信息,以及所述目标异常代码段对应的目标处理方式,同时还能够查看到待调用方法对应的存储位置信息,开发人员可以基于异常处理单详情界面中记录的待调用方法对应的存储位置信息,下载所述待调用方法,之后根据异常处理单详情界面中记录的目标位置信息,在下载后的待调用方法中找到目标异常代码段,之后根据异常处理单详情界面中记录的目标处理方式,对所述待调用方法中的目标异常代码进行处理。
进一步地,开发人员对所述待调用方法中的目标异常代码段进行处理后,为了方便其他人调用处理后的待调用方法,需要对所述处理后的待调用方法进行发布,基于此,所述方法包括:获取处理后的目标异常代码段对应的待调用方法;当接收到处理后的待调用方法对应的发布指令时,对所述处理后的待调用方法进行发布。
具体地,开发人员对待调用方法中的各个目标异常代码进行处理后,得到处理后的待调用方法,之后将处理后的待调用方法发送至异常检测人员终端,异常检测人员终端的检测人员接收到处理后的待调用方法后,将所述处理后的待调用方法上传至异常检测系统,同时测试人员点击异常检测系统中的发布按钮,即触发了处理后的待调用方法对应的发布指令,当异常检测系统接收到所述发布指令时,基于所述发布指令中携带的处理后的待调用方法对应的标识信息,将所述处理后的待调用方法进行发布。进一步地,对处理后的待调用方法进行发布后,为了避免异常检测系统崩溃导致处理后的待调用方法丢失,需要对处理后的待调用方法进行备份,基于此,所述方法包括:获取处理后的目标异常代码段对应的待调用方法;当接收到处理后的待调用方法对应的发布指令时,对所述处理后的待调用方法进行发布。
具体地,不同待调用方法对应不同的MD5值,首先确定处理后的待调用方法对应的MD5值,并将所述处理后的待调用方法以MD5值的形式备份至相应位置处。
根据本发明提供的另一种代码异常的处理方法,与目前在对异常代码进行处理的过程中,通常通过人工来对调用方法中的代码进行检测,来确定调用方法中是否存在异常代码的方式相比,本发明通过接收待调用方法对应的异常检测指令,其中,所述异常检测指令中携带有所述待调用方法对应的标识信息;基于所述标识信息,在所述待调用方法对应的方法执行入口中插入预设异常检测函数,并利用所述预设异常检测函数获取所述待调用方法对应的异常信息;基于所述异常信息,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式;基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单;将所述异常处理单发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理单对所述待调用方法中的所述目标异常代码段进行处理,由此通过利用预设异常检测函数获取所述待调用方法中的异常信息,并基于所述异常信息确定所述待调用方法中的目标异常代码段对应的目标异常位置信息和目标处理方式,最终基于所述目标位置信息和目标处理方式,对所述待调用方法中的目标异常代码进行处理,提高了异常代码的处理效率,与此同时,避免由于开发人员技术水平参差不齐导致异常代码确定错误,从而导致异常代码处理错误的情况,进而提高了异常代码的处理精度。
进一步地,作为图1的具体实现,本发明实施例提供了一种代码异常的处理装置,如图3所示,所述装置包括:接收单元31、获取单元32、确定单元33、生成单元34和处理单元35。
所述接收单元31,可以用于接收待调用方法对应的异常检测指令,其中,所述异常检测指令中携带有所述待调用方法对应的标识信息。
所述获取单元32,可以用于基于所述标识信息,在所述待调用方法对应的方法执行入口中插入预设异常检测函数,并利用所述预设异常检测函数获取所述待调用方法对应的异常信息。
所述确定单元33,可以用于基于所述异常信息,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式。
所述生成单元34,可以用于基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单。
所述处理单元35,可以用于将所述异常处理单发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理单对所述待调用方法中的所述目标异常代码段进行处理。
在具体应用场景中,为了利用所述预设异常检测函数获取所述待调用方法对应的异常信息,如图4所示,所述获取单元32,具体可以用于利用所述预设异常检测函数获取所述待调用方法中的各个异常代码段对应的包名、类名和方法名,以及所述各个异常代码段对应的异常类型。
在具体应用场景中,为了确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式,所述确定单元33,具体可以用于基于所述各个异常代码段对应的包名、类型和方法名,以及所述各个异常代码段对应的异常类型,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式。
在具体应用场景中,为了确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式,所述确定单元33,具体可以用于基于预设异常类型白名单列表,在各个异常代码段对应的异常类型中确定需要进行处理的目标异常类型,并确定所述目标异常类型对应的异常代码段的目标包名、目标类名和目标方法名;基于所述目标包名、目标类名和目标方法名,确定所述待调用方法中的目标异常代码段对应的目标位置信息;在预设处理逻辑列表中确定与所述目标异常类型相对应的处理方式,并将所述处理方式确定为所述目标异常代码段对应的目标处理方式,其中,所述预设处理逻辑列表中存储着不同异常类型分别对应的处理方式。
在具体应用场景中,为了基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单,所述生成单元34,包括确定模块341和第一生成模块342。
所述确定模块341,可以用于确定所述待调用方法所属的方法类型,并确定与所述方法类型相对应的异常处理模板。
所述第一生成模块342,可以用于基于所述异常处理模板、所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单。
在具体应用场景中,为了对所述待调用方法中目标异常代码进行处理,所述处理单元35,包括第二生成模块351和处理模块352。
所述第二生成模块351,可以用于基于所述异常处理单,生成所述目标异常代码段对应的异常处理通知。
所述处理模块352,可以用于调用预设通讯工具接口,将所述异常处理通知发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理通知查看所述异常处理单,对所述目标异常代码段进行处理。
在具体应用场景中,为了对处理后待调用方法进行发布,以便其他人员调用,所述装置还包括:发布单元36。
所述获取单元32,还可以用于获取处理后的目标异常代码段对应的待调用方法。
所述发布单元36,可以用于当接收到处理后的待调用方法对应的发布指令时,对所述处理后的待调用方法进行发布。
在具体应用场景中,为了对所述处理后的待调用方法进行备份,所述装置还包括:备份单元37。
所述生成单元34,还可以用于生成发布后的待调用方法对应的MD5值。
所述备份单元37,可以用于基于所述MD5值,对所述发布后的待调用方法进行备份。
需要说明的是,本发明实施例提供的一种代码异常的处理装置所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:接收待调用方法对应的异常检测指令,其中,所述异常检测指令中携带有所述待调用方法对应的标识信息;基于所述标识信息,在所述待调用方法对应的方法执行入口中插入预设异常检测函数,并利用所述预设异常检测函数获取所述待调用方法对应的异常信息;基于所述异常信息,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式;基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单;将所述异常处理单发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理单对所述待调用方法中的所述目标异常代码段进行处理。
基于上述如图1所示方法和如图3所示装置的实施例,本发明实施例还提供了一种计算机设备的实体结构图,如图5所示,该计算机设备包括:处理器41、存储器42、及存储在存储器42上并可在处理器上运行的计算机程序,其中存储器42和处理器41均设置在总线43上所述处理器41执行所述程序时实现以下步骤:接收待调用方法对应的异常检测指令,其中,所述异常检测指令中携带有所述待调用方法对应的标识信息;基于所述标识信息,在所述待调用方法对应的方法执行入口中插入预设异常检测函数,并利用所述预设异常检测函数获取所述待调用方法对应的异常信息;基于所述异常信息,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式;基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单;将所述异常处理单发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理单对所述待调用方法中的所述目标异常代码段进行处理。
通过本发明的技术方案,本发明通过接收待调用方法对应的异常检测指令,其中,所述异常检测指令中携带有所述待调用方法对应的标识信息;基于所述标识信息,在所述待调用方法对应的方法执行入口中插入预设异常检测函数,并利用所述预设异常检测函数获取所述待调用方法对应的异常信息;基于所述异常信息,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式;基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单;将所述异常处理单发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理单对所述待调用方法中的所述目标异常代码段进行处理,由此通过利用预设异常检测函数获取所述待调用方法中的异常信息,并基于所述异常信息确定所述待调用方法中的目标异常代码段对应的目标异常位置信息和目标处理方式,最终基于所述目标位置信息和目标处理方式,对所述待调用方法中的目标异常代码进行处理,提高了异常代码的处理效率,与此同时,避免由于开发人员技术水平参差不齐导致异常代码确定错误,从而导致异常代码处理错误的情况,进而提高了异常代码的处理精度。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (10)
1.一种代码异常的处理方法,其特征在于,包括:
接收待调用方法对应的异常检测指令,其中,所述异常检测指令中携带有所述待调用方法对应的标识信息;
基于所述标识信息,在所述待调用方法对应的方法执行入口中插入预设异常检测函数,并利用所述预设异常检测函数获取所述待调用方法对应的异常信息;
基于所述异常信息,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式;
基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单;
将所述异常处理单发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理单对所述待调用方法中的所述目标异常代码段进行处理。
2.根据权利要求1所述的方法,其特征在于,所述利用所述预设异常检测函数获取所述待调用方法对应的异常信息,包括:
利用所述预设异常检测函数获取所述待调用方法中的各个异常代码段对应的包名、类名和方法名,以及所述各个异常代码段对应的异常类型;
所述基于所述异常信息,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式,包括:
基于所述各个异常代码段对应的包名、类型和方法名,以及所述各个异常代码段对应的异常类型,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式。
3.根据权利要求2所述的方法,其特征在于,所述基于所述各个异常代码段对应的包名、类型和方法名,以及所述各个异常代码段对应的异常类型,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式,包括:
基于预设异常类型白名单列表,在各个异常代码段对应的异常类型中确定需要进行处理的目标异常类型,并确定所述目标异常类型对应的异常代码段的目标包名、目标类名和目标方法名;
基于所述目标包名、目标类名和目标方法名,确定所述待调用方法中的目标异常代码段对应的目标位置信息;
在预设处理逻辑列表中确定与所述目标异常类型相对应的处理方式,并将所述处理方式确定为所述目标异常代码段对应的目标处理方式,其中,所述预设处理逻辑列表中存储着不同异常类型分别对应的处理方式。
4.根据权利要求1所述的方法,其特征在于,所述基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单,包括:
确定所述待调用方法所属的方法类型,并确定与所述方法类型相对应的异常处理模板;
基于所述异常处理模板、所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单。
5.根据权利要求1所述的方法,其特征在于,所述将所述异常处理单发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理单对所述待调用方法中的所述目标异常代码段进行处理,包括:
基于所述异常处理单,生成所述目标异常代码段对应的异常处理通知;
调用预设通讯工具接口,将所述异常处理通知发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理通知查看所述异常处理单,对所述待调用方法中的所述目标异常代码段进行处理。
6.根据权利要求1所述的方法,其特征在于,在所述将所述异常处理单发送至开发人员终端之后,所述方法还包括:
获取处理后的目标异常代码段对应的待调用方法;
当接收到处理后的待调用方法对应的发布指令时,对所述处理后的待调用方法进行发布。
7.根据权利要求6所述的方法,其特征在于,在所述当接收到处理后的待调用方法对应的发布指令时,对所述处理后的待调用方法进行发布之后,所述方法还包括:
生成发布后的待调用方法对应的MD5值;
基于所述MD5值,对所述发布后的待调用方法进行备份。
8.一种代码异常的处理装置,其特征在于,包括:
接收单元,用于接收待调用方法对应的异常检测指令,其中,所述异常检测指令中携带有所述待调用方法对应的标识信息;
获取单元,用于基于所述标识信息,在所述待调用方法对应的方法执行入口中插入预设异常检测函数,并利用所述预设异常检测函数获取所述待调用方法对应的异常信息;
确定单元,用于基于所述异常信息,确定所述待调用方法中的目标异常代码段对应的目标位置信息和目标处理方式;
生成单元,用于基于所述目标位置信息和所述目标处理方式,生成所述目标异常代码段对应的异常处理单;
处理单元,用于将所述异常处理单发送至开发人员终端,以便所述开发人员终端的开发人员基于所述异常处理单对所述待调用方法中的所述目标异常代码段进行处理。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211391536.1A CN115587046A (zh) | 2022-11-08 | 2022-11-08 | 代码异常的处理方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211391536.1A CN115587046A (zh) | 2022-11-08 | 2022-11-08 | 代码异常的处理方法、装置、存储介质及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115587046A true CN115587046A (zh) | 2023-01-10 |
Family
ID=84782307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211391536.1A Pending CN115587046A (zh) | 2022-11-08 | 2022-11-08 | 代码异常的处理方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115587046A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115981985A (zh) * | 2023-01-28 | 2023-04-18 | 北京基调网络股份有限公司 | 代码块监测方法、装置、电子设备及可读存储介质 |
-
2022
- 2022-11-08 CN CN202211391536.1A patent/CN115587046A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115981985A (zh) * | 2023-01-28 | 2023-04-18 | 北京基调网络股份有限公司 | 代码块监测方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105843741B (zh) | 应用程序的信息处理方法和装置 | |
US7984334B2 (en) | Call-stack pattern matching for problem resolution within software | |
WO2014120192A1 (en) | Error developer association | |
US10552242B2 (en) | Runtime failure detection and correction | |
US11169896B2 (en) | Information processing system | |
CN111211929A (zh) | 故障定位方法、故障定位装置、控制设备及智能设备 | |
US10108474B2 (en) | Trace capture of successfully completed transactions for trace debugging of failed transactions | |
CN115587046A (zh) | 代码异常的处理方法、装置、存储介质及计算机设备 | |
CN113448854A (zh) | 一种回归测试方法和装置 | |
CN108595178B (zh) | 一种基于hook的数据采集方法、装置及设备 | |
CN109299124B (zh) | 用于更新模型的方法和装置 | |
CN116738091A (zh) | 页面监控方法、装置、电子设备及存储介质 | |
CN108628744B (zh) | 故障诊断方法、装置及电子设备 | |
US7363615B2 (en) | Stack-based callbacks for diagnostic data generation | |
CN115344490A (zh) | 一种测试软件产品的方法、装置、存储介质及电子设备 | |
CN113032100B (zh) | 一种异常处理方法、装置、设备及存储介质 | |
CN113282496B (zh) | 接口自动测试方法、装置、设备及存储介质 | |
CN112650613B (zh) | 一种错误信息处理方法、装置、电子设备及存储介质 | |
CN113806138A (zh) | 数据库的备份恢复检测方法、装置及电子设备、存储介质 | |
CN111414270B (zh) | 一种异常处理方法及装置 | |
CN110231921B (zh) | 日志打印方法、装置、设备及计算机可读存储介质 | |
CN112433876A (zh) | 一种作业错误信息处理方法、装置和存储介质 | |
CN110362464B (zh) | 软件分析方法及设备 | |
CN111488236A (zh) | 一种订单异常处理方法、服务器、存储介质及处理装置 | |
CN113704088B (zh) | 一种进程追溯方法、进程追溯系统及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |