CN113778726A - 一种错误信息处理方法、装置、服务器和存储介质 - Google Patents

一种错误信息处理方法、装置、服务器和存储介质 Download PDF

Info

Publication number
CN113778726A
CN113778726A CN202010517994.XA CN202010517994A CN113778726A CN 113778726 A CN113778726 A CN 113778726A CN 202010517994 A CN202010517994 A CN 202010517994A CN 113778726 A CN113778726 A CN 113778726A
Authority
CN
China
Prior art keywords
error
preset
class
container
information
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
Application number
CN202010517994.XA
Other languages
English (en)
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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN202010517994.XA priority Critical patent/CN113778726A/zh
Publication of CN113778726A publication Critical patent/CN113778726A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种错误信息处理方法、装置、服务器和存储介质,该方法包括:在接收到客户端发送的请求消息后,检测服务器中是否存在系统错误对象;若存在系统错误对象,则通过调用预设错误捕捉类中的错误捕捉函数,在检测到系统错误对象所属的类为预设错误容器类时,对系统错误对象进行拦截捕捉,并利用预设错误容器类对应的预设错误容器对象获取系统错误对象中的错误信息,其中,预设错误容器类中的每个成员变量具有私有权限修饰符和最终类型修饰符,并在预设错误容器类的构造函数中对每个成员变量进行赋值操作;基于预设处理方式,对错误信息进行处理,从而可以对错误信息进行有效处理,提高程序运行稳定性,从而提升用户体验。

Description

一种错误信息处理方法、装置、服务器和存储介质
技术领域
本发明实施例涉及计算机技术,尤其涉及一种错误信息处理方法、装置、服务器和存储介质。
背景技术
随着计算机技术的快速发展,越来越多的应用程序被研发,以满足用户日益增长的需求。
目前,在应用程序运行过程中可能会出现错误,并且错误通常是由系统进行处理,从而一旦发生错误便会导致程序崩溃,使得整个程序停止运行,大大降低了程序运行稳定性,同时也降低了用户体验。
发明内容
本发明实施例提供了一种错误信息处理方法、装置、服务器和存储介质,以对错误信息进行有效处理,提高程序运行稳定性,从而提升用户体验。
第一方面,本发明实施例提供了一种错误信息处理方法,包括:
在接收到客户端发送的请求消息后,检测服务器中是否存在系统错误对象;
若存在系统错误对象,则通过调用预设错误捕捉类中的错误捕捉函数,在检测到所述系统错误对象所属的类为预设错误容器类时,对所述系统错误对象进行拦截捕捉,并利用所述预设错误容器类对应的预设错误容器对象获取所述系统错误对象中的错误信息,其中,所述预设错误容器类中的每个成员变量具有私有权限修饰符和最终类型修饰符,并在所述预设错误容器类的构造函数中对每个成员变量进行赋值操作;
基于预设处理方式,对所述错误信息进行处理。
第二方面,本发明实施例还提供了一种错误信息处理装置,包括:
系统错误对象检测模块,用于在接收到客户端发送的请求消息后,检测服务器中是否存在系统错误对象;
系统错误对象捕捉模块,用于若存在系统错误对象,则通过调用预设错误捕捉类中的错误捕捉函数,在检测到所述系统错误对象所属的类为预设错误容器类时,对所述系统错误对象进行拦截捕捉,并利用所述预设错误容器类对应的预设错误容器对象获取所述系统错误对象中的错误信息,其中,所述预设错误容器类中的每个成员变量具有私有权限修饰符和最终类型修饰符,并在所述预设错误容器类的构造函数中对每个成员变量进行赋值操作;
错误信息处理模块,用于基于预设处理方式,对所述错误信息进行处理。
第三方面,本发明实施例还提供了一种服务器,所述服务器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所提供的错误信息处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的错误信息处理方法。
上述发明中的实施例具有如下优点或有益效果:
服务器在接收到客户端发送的请求消息后,检测是否存在系统错误对象,若是,则通过调用预设错误捕捉类中的错误捕捉函数,在检测到系统错误对象所属的类为预设错误容器类时,对该系统错误对象进行拦截捕捉,并利用所述预设错误容器类对应的预设错误容器对象获取所述系统错误对象中的错误信息,基于预设处理方式,对错误信息进行处理,从而可以及时拦截属于预设错误容器类的系统错误对象并有效地处理系统错误对象中的错误信息,避免了因系统处理该系统错误对象而导致程序出现崩溃的情况,保证了程序正常运行,提高了程序运行稳定性,提升了用户体验。
附图说明
图1是本发明实施例一提供的一种错误信息处理方法的流程图;
图2是本发明实施例二提供的一种错误信息处理装置的结构示意图;
图3是本发明实施例三提供的一种服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种错误信息处理方法的流程图,本实施例可适用于服务器在接收到客户端发送的请求消息后,对抛出的错误进行处理的情况。该方法可以由错误信息处理装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于应用程序的服务器中。如图1所示,该方法具体包括以下步骤:
S110、在接收到客户端发送的请求消息后,检测服务器中是否存在系统错误对象。
其中,客户端可以是指装载有应用程序的智能终端,比如,智能手机、平板电脑或笔记本电脑等。服务器可以是指对客户端提供应用服务(比如响应服务器请求)的设备。请求消息可以是指客户端向服务器发送的HTTP(HyperText Transfer Protocol,超文本传输协议)请求。系统错误对象可以是针对请求消息系统中存在的异常对象。
具体地,服务器在成功接收到客户端发送的请求消息后,对请求消息进行响应的过程中,若请求消息中存在用户非法操作,则程序自己会抛出一个系统错误对象,从而检测到服务器中存在系统错误对象,此时需要避免服务器中的系统处理该系统错误对象,以避免系统停止应用程序运行,进而导致程序崩溃的情况。
S120、若存在系统错误对象,则通过调用预设错误捕捉类中的错误捕捉函数,在检测到系统错误对象所属的类为预设错误容器类时,对系统错误对象进行拦截捕捉,并利用预设错误容器类对应的预设错误容器对象获取系统错误对象中的错误信息,其中,预设错误容器类中的每个成员变量具有私有权限修饰符和最终类型修饰符,并在预设错误容器类的构造函数中对每个成员变量进行赋值操作。
其中,预设错误捕捉类可以是预先定义的,用于捕捉系统错误对象的类。例如,预设错误捕捉类ErrorAdvice定义如下:
@ControllerAdvice
class ErrorAdvice{
}
其中,可以利用@ControllerAdvice的注解方式,向系统注册一个错误监听来实现监听功能,进而实现错误的捕获功能。这种监听的注册方式可以避免现有方式中的注册和反注册流程,大大简化了注册的实现逻辑,提高了开发效率。
其中,错误捕捉函数可以是在预设错误捕捉类中预先定义的,用于捕获系统错误对象的函数。例如,错误捕捉函数processError可以定义为:
Figure BDA0002530853130000051
其中,可以通过在错误捕捉函数processError对应的函数体上标注@ResponseStatus(HttpStatus.OK)的方式,限定该错误捕捉函数processError是一个在接收到请求消息之后才可处理的函数,以便有效排除掉HTTP请求等相关的错误情况,避免拦截系统中的所有错误信息,比如HTTP请求出现了异常等系统级别的错误信息,进而保证合理的拦截范围,降低错误处理的复杂度,以及提高整体性能。
其中,预设错误容器类可以是预先定义的一种系统错误对象所属于的类,以便仅对该类的系统错误对象进行拦截捕获,避免应用程序因该类的错误而导致程序崩溃的情况。示例性地,在利用所述预设错误容器类对应的预设错误容器对象获取所述系统错误对象中的错误信息之前,可以通过基于预设继承关键字extends,继承系统中的异常处理类Exception的方式,创建预设错误容器类。
例如,预设错误容器类DYError可以定义为:
Figure BDA0002530853130000061
其中,在预设错误容器类中可以设计一个T类型的数据承载器,以便通过该数据承载器来承载具体的错误数据信息。预设错误容器类中的成员变量可以包括:整型Integer的错误标识code、字符串String类型的错误详细信息msg和泛型类型T的错误数据信息。其中,错误详细信息可以是指堆栈信息,比如程序运行时的上下文信息。错误数据信息可以是指除堆栈信息之外的所有信息,比如代码描述者信息等。
预设错误容器类DYError中的每个成员变量具有具有私有权限修饰符private和最终类型修饰符final,以避免数据进行中途篡改或者修改。通过对预设错误容器类进行实例化的方式,获得预设错误容器对象,并在预设错误容器类的构造函数中对每个具有最终类型修饰符final的成员变量进行赋值操作,即通过下述this.xxx=xxx类型的赋值操作,一旦首次赋值后,使得获得的预设错误容器对象中的final数据无法被再次进行修改,通过这种方式可以有效保证了预设错误容器对象中的数据不会被干扰及篡改,从而有效的保证了预设错误容器对象中存放的错误信息的准确性,便于后续准确地进行错误定位。
Figure BDA0002530853130000071
由于错误数据信息T的数据类型是千差万别的,从而可以通过实现一个类型延迟的模型设计一个动态类型参数T,以便将该参数T的类型确认延迟到调用方,使得延迟到调用方调用数据时,基于调用数据的类型确定的参数T的类型。通过这种参数延迟模型的设计可以有效解决多种类型数据承载的问题。
具体地,在检测到存在系统错误对象时,可以通过调用预设错误捕捉类中的错误捕捉函数,获得该系统错误对象,并检测所捕获的系统错误对象所属的类是否为预设错误容器类,即检测系统错误对象是否为需要拦截捕捉的错误,若是,则对系统错误对象进行拦截捕捉,从而可以及时拦截该系统错误对象,避免系统处理该系统错误对象,并且可以通过预设错误容器类对应的预设错误容器对象,获得系统错误对象中的错误信息。
示例性地,错误捕捉函数通过如下步骤实现在检测到所述系统错误对象所属的类为预设错误容器类时,对所述系统错误对象进行拦截捕捉,并利用所述预设错误容器类对应的预设错误容器对象获取所述系统错误对象中的错误信息的功能:检测所述系统错误对象所属的类是否为预设错误容器类;若是,则对所述系统错误对象进行拦截捕捉,并将所述系统错误对象强制转换为所述预设错误容器类对应的预设错误容器对象,并从所述预设错误容器对象中获得所述系统错误对象中的错误信息。
具体地,在错误捕捉函数内部,可以通过调用if(e instanceof DYError)的方式,检测系统错误对象e所属的类是否为预设错误容器类DYError,若是,则表明需要拦截捕捉该错误对象,此时可以通过DYError dyError=(DYError)e的方式,将系统错误对象e强制转换成预设错误容器类对应的预设错误容器对象dyError,从而可以从预设错误容器对象中获取到系统错误对象中的错误信息。预设错误容器对象可以是用于临时存储一个系统错误对象中的错误信息的容器。
示例性地,若检测到所述系统错误对象所属的类不是预设错误容器类,则通过调用返回结果类中的抛出函数,将所述系统错误对象进行抛出,以交还给系统中的异常处理类进行处理。
具体地,在检测到系统错误对象所属的类不是预设错误容器类时,表明该系统错误对象不是需要拦截捕捉的错误,此时还需要将其交还给系统进行默认处理。例如,可以通过在错误捕捉函数processError对应的函数体上标注一个@ExceptionHandler(Exception.class)的方式,限定在所属的类不是预设错误容器类时时,直接交还给系统中的异常处理类Exception来进行默认处理。例如,在错误捕捉函数内部,可以通过调用返回结果类ResultVo中的抛出函数ResultVo.throw(),即调用return ResultVo.throw(),将系统错误对象进行抛弃,交还给系统的异常处理类Exception.class进行处理,以避免除预设错误容器类之外的错误也被拦截的情况。
S130、基于预设处理方式,对错误信息进行处理。
其中,预设处理方式可以是基于场景需求所设置的处理方式。
具体地,通过基于预设处理方式,可以对获得的错误信息进行有效处理,避免系统对该错误信息进行处理而导致服务器无法正常响应,使得程序崩溃的情况,从而可以提高程序运行稳定性,提升用户体验。例如:可以将错误信息存储至日志文件中。通过将错误信息存储至日志文件中,可以便于后续基于日志文件,有效定位错误,并对错误进行分析处理,优化程序运行。
本实施例的技术方案,服务器在接收到客户端发送的请求消息后,检测是否存在系统错误对象,若是,则通过调用预设错误捕捉类中的错误捕捉函数,在检测到系统错误对象所属的类为预设错误容器类时,对该系统错误对象进行拦截捕捉,并利用所述预设错误容器类对应的预设错误容器对象获取所述系统错误对象中的错误信息,基于预设处理方式,对错误信息进行处理,从而可以及时拦截属于预设错误容器类的系统错误对象并有效地处理系统错误对象中的错误信息,避免了因系统处理该系统错误对象而导致程序出现崩溃的情况,保证了程序正常运行,提高了程序运行稳定性,提升了用户体验。
在上述技术方案的基础上,从所述预设错误容器对象中获得所述系统错误对象中的错误信息,可以包括:以所述预设错误容器对象为输入对象,调用返回结果类中的序列化函数,将所述预设错误容器对象中存储的错误信息序列化为相应的结构化错误数据,并将所述结构化错误数据进行返回。
具体地,在属于预设错误容器类的系统错误对象被拦截后,可以设置一个返回信息,并对该返回信息中的数据结构序列化为JSON(JavaScript Object Notation,JS对象简谱)格式的结构化错误数据,以便于数据接收方可以更加便捷地对数据进行解析。例如,可以通过在错误捕捉函数processError对应的函数体上标注一个@ResponseBody的方式,保证防护的数据可以序列化为JSON格式的结构化错误数据进行返回,以便调用方可以快速获得详细的错误内容。例如,在错误捕捉函数内部,可以通过以预设错误容器对象dyError为输入对象,调用返回结果类ResultVo中的序列化函数ResultVo.asError(dyError)函数,将错误容器dyError中的容器内容以错误的形式进行返回并序列化为相应的结构化错误数据。
示例性地,S130可以包括:将所述结构化错误数据发送至错误处理服务器,以使所述错误处理服务器对接收到的所述结构化错误数据进行解析,获得错误信息,并对所述错误信息进行处理。
其中,错误处理服务器可以是指用于专门处理复杂错误的服务器。具体地,可以通过将结构化错误数据发送给错误处理服务器,可以使得错误处理服务器快速地对结构化错误数据进行解析,获得详细的错误信息并进行相应处理,提高了错误信息获取效率。
以下是本发明实施例提供的错误信息处理装置的实施例,该装置与上述各实施例的错误信息处理方法属于同一个发明构思,在错误信息处理装置的实施例中未详尽描述的细节内容,可以参考上述错误信息处理方法的实施例。
实施例二
图2为本发明实施例二提供的一种错误信息处理装置的结构示意图,本实施例可适用于服务器在接收到客户端发送的请求消息后,对抛出的错误进行处理的情况。如图2所示,该装置包括:系统错误对象检测模块210、系统错误对象捕捉模块220和错误信息处理模块230。
其中,系统错误对象检测模块210,用于在接收到客户端发送的请求消息后,检测服务器中是否存在系统错误对象;系统错误对象捕捉模块220,用于若存在系统错误对象,则通过调用预设错误捕捉类中的错误捕捉函数,在检测到所述系统错误对象所属的类为预设错误容器类时,对所述系统错误对象进行拦截捕捉,并利用所述预设错误容器类对应的预设错误容器对象获取所述系统错误对象中的错误信息,其中,所述预设错误容器类中的每个成员变量具有私有权限修饰符和最终类型修饰符,并在所述预设错误容器类的构造函数中对每个成员变量进行赋值操作;错误信息处理模块230,用于基于预设处理方式,对所述错误信息进行处理。
本实施例的技术方案,服务器在接收到客户端发送的请求消息后,检测是否存在系统错误对象,若是,则通过调用预设错误捕捉类中的错误捕捉函数,在检测到系统错误对象所属的类为预设错误容器类时,对该系统错误对象进行拦截捕捉,并利用所述预设错误容器类对应的预设错误容器对象获取所述系统错误对象中的错误信息,基于预设处理方式,对错误信息进行处理,从而可以及时拦截属于预设错误容器类的系统错误对象并有效地处理系统错误对象中的错误信息,避免了因系统处理该系统错误对象而导致程序出现崩溃的情况,保证了程序正常运行,提高了程序运行稳定性,提升了用户体验。
可选地,预设错误容器类中的成员变量包括:整型的错误标识、字符串类型的错误详细信息和泛型类型的错误数据信息;
其中,所述错误详细信息包括堆栈信息,所述错误数据信息对应的泛型类型是延迟到调用方调用数据时,基于调用数据的类型进行确定的。
可选地,该装置还包括:错误捕捉函数执行模块,用于通过如下步骤实现在检测到所述系统错误对象所属的类为预设错误容器类时,对所述系统错误对象进行拦截捕捉,并利用所述预设错误容器类对应的预设错误容器对象获取所述系统错误对象中的错误信息的功能:
检测所述系统错误对象所属的类是否为预设错误容器类;
若是,则对所述系统错误对象进行拦截捕捉,并将所述系统错误对象强制转换为所述预设错误容器类对应的预设错误容器对象,并从所述预设错误容器对象中获得所述系统错误对象中的错误信息。
可选地,该装置还包括:
错误对象抛出模块,用于:若检测到所述系统错误对象所属的类不是预设错误容器类,则通过调用返回结果类中的抛出函数,将所述系统错误对象进行抛出,以交还给系统中的异常处理类进行处理。
可选地,从所述预设错误容器对象中获得所述系统错误对象中的错误信息,包括:
以所述预设错误容器对象为输入对象,调用返回结果类中的序列化函数,将所述预设错误容器对象中存储的错误信息序列化为相应的结构化错误数据,并将所述结构化错误数据进行返回。
可选地,错误信息处理模块230,具体用于:将所述结构化错误数据发送至错误处理服务器,以使所述错误处理服务器对接收到的所述结构化错误数据进行解析,获得错误信息,并对所述错误信息进行处理。
可选地,该装置还包括:
预设错误容器类创建模块,用于在利用所述预设错误容器类对应的预设错误容器对象获取所述系统错误对象中的错误信息之前,通过基于预设继承关键字,继承系统中的异常处理类的方式,创建预设错误容器类;
预设错误容器对象获得模块,用于对所述预设错误容器类进行实例化,获得预设错误容器对象。
本发明实施例所提供的错误信息处理装置可执行本发明任意实施例所提供的错误信息处理方法,具备执行错误信息处理方法相应的功能模块和有益效果。
值得注意的是,上述错误信息处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例三
图3是本发明实施例三提供的一种服务器的结构示意图。参见图3,该服务器包括:
一个或多个处理器310;
存储器320,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器310执行,使得一个或多个处理器310实现如上述实施例中任意实施例所提供的错误信息处理方法,该方法包括:
在接收到客户端发送的请求消息后,检测服务器中是否存在系统错误对象;
若存在系统错误对象,则通过调用预设错误捕捉类中的错误捕捉函数,在检测到所述系统错误对象所属的类为预设错误容器类时,对所述系统错误对象进行拦截捕捉,并利用所述预设错误容器类对应的预设错误容器对象获取所述系统错误对象中的错误信息,其中,所述预设错误容器类中的每个成员变量具有私有权限修饰符和最终类型修饰符,并在所述预设错误容器类的构造函数中对每个成员变量进行赋值操作;
基于预设处理方式,对所述错误信息进行处理。
图3中以一个处理器310为例;服务器中的处理器310和存储器320可以通过总线或其他方式连接,图3中以通过总线连接为例。
存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的错误信息处理方法对应的程序指令/模块(例如,错误信息处理装置中的系统错误对象检测模块210、系统错误对象捕捉模块220和错误信息处理模块230)。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的错误信息处理方法。
存储器320主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本实施例提出的服务器与上述实施例提出的错误信息处理方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例具备执行错误信息处理方法相同的有益效果。
实施例四
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的错误信息处理方法步骤,该方法包括:
在接收到客户端发送的请求消息后,检测服务器中是否存在系统错误对象;
若存在系统错误对象,则通过调用预设错误捕捉类中的错误捕捉函数,在检测到所述系统错误对象所属的类为预设错误容器类时,对所述系统错误对象进行拦截捕捉,并利用所述预设错误容器类对应的预设错误容器对象获取所述系统错误对象中的错误信息,其中,所述预设错误容器类中的每个成员变量具有私有权限修饰符和最终类型修饰符,并在所述预设错误容器类的构造函数中对每个成员变量进行赋值操作;
基于预设处理方式,对所述错误信息进行处理。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种错误信息处理方法,其特征在于,包括:
在接收到客户端发送的请求消息后,检测服务器中是否存在系统错误对象;
若存在系统错误对象,则通过调用预设错误捕捉类中的错误捕捉函数,在检测到所述系统错误对象所属的类为预设错误容器类时,对所述系统错误对象进行拦截捕捉,并利用所述预设错误容器类对应的预设错误容器对象获取所述系统错误对象中的错误信息,其中,所述预设错误容器类中的每个成员变量具有私有权限修饰符和最终类型修饰符,并在所述预设错误容器类的构造函数中对每个成员变量进行赋值操作;
基于预设处理方式,对所述错误信息进行处理。
2.根据权利要求1所述的方法,其特征在于,所述预设错误容器类中的成员变量包括:整型的错误标识、字符串类型的错误详细信息和泛型类型的错误数据信息;
其中,所述错误详细信息包括堆栈信息,所述错误数据信息对应的泛型类型是延迟到调用方调用数据时,基于调用数据的类型进行确定的。
3.根据权利要求1所述的方法,其特征在于,所述错误捕捉函数通过如下步骤实现在检测到所述系统错误对象所属的类为预设错误容器类时,对所述系统错误对象进行拦截捕捉,并利用所述预设错误容器类对应的预设错误容器对象获取所述系统错误对象中的错误信息的功能:
检测所述系统错误对象所属的类是否为预设错误容器类;
若是,则对所述系统错误对象进行拦截捕捉,并将所述系统错误对象强制转换为所述预设错误容器类对应的预设错误容器对象,并从所述预设错误容器对象中获得所述系统错误对象中的错误信息。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若检测到所述系统错误对象所属的类不是预设错误容器类,则通过调用返回结果类中的抛出函数,将所述系统错误对象进行抛出,以交还给系统中的异常处理类进行处理。
5.根据权利要求3所述的方法,其特征在于,从所述预设错误容器对象中获得所述系统错误对象中的错误信息,包括:
以所述预设错误容器对象为输入对象,调用返回结果类中的序列化函数,将所述预设错误容器对象中存储的错误信息序列化为相应的结构化错误数据,并将所述结构化错误数据进行返回。
6.根据权利要求5所述的方法,其特征在于,基于预设处理方式,对所述错误信息进行处理,包括:
将所述结构化错误数据发送至错误处理服务器,以使所述错误处理服务器对接收到的所述结构化错误数据进行解析,获得错误信息,并对所述错误信息进行处理。
7.根据权利要求1所述的方法,其特征在于,在利用所述预设错误容器类对应的预设错误容器对象获取所述系统错误对象中的错误信息之前,还包括:
通过基于预设继承关键字,继承系统中的异常处理类的方式,创建预设错误容器类;
对所述预设错误容器类进行实例化,获得预设错误容器对象。
8.一种错误信息处理装置,其特征在于,包括:
系统错误对象检测模块,用于在接收到客户端发送的请求消息后,检测服务器中是否存在系统错误对象;
系统错误对象捕捉模块,用于若存在系统错误对象,则通过调用预设错误捕捉类中的错误捕捉函数,在检测到所述系统错误对象所属的类为预设错误容器类时,对所述系统错误对象进行拦截捕捉,并利用所述预设错误容器类对应的预设错误容器对象获取所述系统错误对象中的错误信息,其中,所述预设错误容器类中的每个成员变量具有私有权限修饰符和最终类型修饰符,并在所述预设错误容器类的构造函数中对每个成员变量进行赋值操作;
错误信息处理模块,用于基于预设处理方式,对所述错误信息进行处理。
9.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的错误信息处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的错误信息处理方法。
CN202010517994.XA 2020-06-09 2020-06-09 一种错误信息处理方法、装置、服务器和存储介质 Pending CN113778726A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010517994.XA CN113778726A (zh) 2020-06-09 2020-06-09 一种错误信息处理方法、装置、服务器和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010517994.XA CN113778726A (zh) 2020-06-09 2020-06-09 一种错误信息处理方法、装置、服务器和存储介质

Publications (1)

Publication Number Publication Date
CN113778726A true CN113778726A (zh) 2021-12-10

Family

ID=78834340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010517994.XA Pending CN113778726A (zh) 2020-06-09 2020-06-09 一种错误信息处理方法、装置、服务器和存储介质

Country Status (1)

Country Link
CN (1) CN113778726A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115855119A (zh) * 2023-02-21 2023-03-28 广州导远电子科技有限公司 导航系统故障分析方法及相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981943A (zh) * 2012-10-29 2013-03-20 新浪技术(中国)有限公司 监控应用日志的方法及系统
CN110069297A (zh) * 2019-03-28 2019-07-30 平安科技(深圳)有限公司 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质
CN110287053A (zh) * 2019-06-27 2019-09-27 四川新网银行股份有限公司 分布式系统异常统一处理的方法
CN111130880A (zh) * 2019-12-24 2020-05-08 杭州米络星科技(集团)有限公司 一种微服务体系异常机制传递方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981943A (zh) * 2012-10-29 2013-03-20 新浪技术(中国)有限公司 监控应用日志的方法及系统
CN110069297A (zh) * 2019-03-28 2019-07-30 平安科技(深圳)有限公司 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质
CN110287053A (zh) * 2019-06-27 2019-09-27 四川新网银行股份有限公司 分布式系统异常统一处理的方法
CN111130880A (zh) * 2019-12-24 2020-05-08 杭州米络星科技(集团)有限公司 一种微服务体系异常机制传递方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
HE-RUNNING: "使用@ExceptionHandler进行异常的统一捕获与返 回", pages 1 - 6, Retrieved from the Internet <URL:https://blog.csdn.net/weishaoqi2/article/details/87631165> *
HE-RUNNING: "使用@ExceptionHandler进行异常的统一捕获与返回", Retrieved from the Internet <URL:https://blog.csdn.net/weishaoqi2/article/details/87631165> *
SADLAY: "REST(三)处理HTTP状态码、异常和响应头", Retrieved from the Internet <URL:https://blog.csdn.net/Sadlay/article/details/84383194> *
佚名: "SpringBoot中的全局异常处理", Retrieved from the Internet <URL:http://www.west999.com/info/html/chengxusheji/Javajishu/20180618/4183567.html> *
竹下星空: "使用@ExceptionHandler实现全局抛异常,完成优雅的报错提示和程序处理", pages 54 - 3, Retrieved from the Internet <URL:https://blog.csdn.net/shidebin/article/details/104848700> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115855119A (zh) * 2023-02-21 2023-03-28 广州导远电子科技有限公司 导航系统故障分析方法及相关装置

Similar Documents

Publication Publication Date Title
CN111294345B (zh) 一种漏洞检测方法、装置及设备
CN111752799A (zh) 一种业务链路跟踪方法、装置、设备及储存介质
CN106936791B (zh) 拦截恶意网址访问的方法和装置
WO2022016847A1 (zh) 一种适用于云平台的自动化测试方法及装置
CN104219316A (zh) 一种分布式系统中的调用请求处理方法及装置
CN111709023B (zh) 一种基于可信操作系统的应用隔离方法及系统
WO2017185827A1 (zh) 用于确定应用程序可疑行为的方法和装置
WO2021189257A1 (zh) 恶意进程的检测方法、装置、电子设备及存储介质
CN113946451A (zh) 一种微服务调用方法、装置、系统及计算机设备
CN110457132B (zh) 一种功能对象的创建方法、装置和终端设备
CN114124929A (zh) 跨网络的数据处理方法和装置
CN110704131B (zh) 一种html5应用调用原生应用的方法和装置
CN106897185B (zh) 一种输出异常的方法及装置
CN106571975B (zh) 一种通信数据的容错方法及装置
CN113778726A (zh) 一种错误信息处理方法、装置、服务器和存储介质
CN106612263B (zh) 一种用于处理应用访问请求的方法与设备
CN112765246B (zh) 任务处理方法、装置、电子设备和存储介质
CN108833500B (zh) 服务调用方法、服务提供方法、数据传递方法和服务器
CN111371783B (zh) 一种sql注入攻击检测方法、装置、设备和存储介质
CN113127775A (zh) 一种页面加载方法、装置、设备和存储介质
CN112100257A (zh) 数据处理方法、装置、计算机设备和存储介质
CN116938605B (zh) 网络攻击防护方法、装置、电子设备及可读存储介质
CN112988125B (zh) 一种数据桥接方法、装置、设备和存储介质
CN112771499A (zh) 一种消息加载方法、消息加载装置及移动终端
CN113448742B (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