发布信息

一种程序异常信息生成方法及系统与流程 专利技术说明

作者:admin      2023-07-07 20:36:46     714



计算;推算;计数设备的制造及其应用技术1.本发明涉及异常处理技术领域,尤其涉及一种程序异常信息生成方法及系统。背景技术:2.软件开发过程中,经常需要处理各种异常。程序的异常是指程序缺少继续运行的必要条件,导致程序意外终止的情况。比如用户修改密码,而用户没有提供原始密码或者要修改的新密,导致修改密码程序无法继续进行。又比如用户要查看某一个文件,而系统中文件并不在,导致查看文件程序无法继续进行等等。3.程序发送异常后,告知用户程序中断原因的处理方式称为异常处理。传统的处理方式,一般处理方式都是就地捕获并处理异常,所以代码中就会出现大量的try{...}catch{...}f i na l l y{...}代码块,这种直接捕获的处理方式不仅会造成大量的冗余代码,还会使代码上下不连贯可读性差、代码零散可维护性差,同时还不可复用开发效率低下。异常提示直接编织在代码中也不够灵活。技术实现要素:4.本发明公开了一种程序异常信息生成方法及系统,提高了程序运行中异常信息生成效率,降低了代码冗余量。5.为了实现上述目的,第一方面,本发明提供了一种程序异常信息生成方法,包括:6.启动程序并在所述程序中引入预设的异常捕获器,以使所述异常捕获器通过预设的全局异常处理类,捕获所述程序运行过程中抛出的若干个异常,并确定所述若干个异常的类型,继而根据所述异常的类型,所述异常捕获器通过查询数据库中预设的异常类型表,获得所述异常的异常信息。7.本发明公开了一种程序异常信息生成方法,启动程序的过程中同时引入预设的异常捕获器,以便于所述异常捕获器在所述程序开始运行时及时捕获所述程序运行过程中的异常,在所述程序运行的过程中,根据所述异常捕获器中预设的全局异常处理类,捕获所述程序整个运行过程中抛出的所有异常,从而避免当所述程序出现异常是再设置异常处理代码进行异常捕获,提高了程序异常信息生成的效率,接着当通过所述全局异常处理类捕获所有的异常后,根据所述异常处理类中预设的异常处理方法,获得所述异常的类型,以便于所述异常捕获器根据所述异常捕获器捕获的异常类型,与数据库中预设的异常信息表进行匹配,根据所述异常类型找到所述异常的异常信息,通过所述数据库管理各种异常信息,解决现有技术中因设置不同的异常处理代码块获得异常信息从而使得代码冗余量大的技术问题,降低了代码冗余量,同时所述异常捕获器根据所述数据库找到异常信息,使得所述异常信息能够重复使用,提高了代码使用的灵活性。8.作为优选例子,在所述程序中引入预设的异常捕获器,具体包括:9.根据所述程序引入预设的spr i ng框架,并根据所述spr i ng框架的异常处理机制引入预设的全局异常处理类;10.通过在所述全局异常处理类填充预设的异常处理方法,获得所述异常捕获器。11.本发明在所述程序运行时,引入基于spr i ng框架预设的异常捕获器,所述异常捕获器基于所述spr i ng框架的异常处理机制设置全局异常处理类,并在所述异常处理类中添加异常处理方法,便于所述异常捕获器持续捕获所述程序整个运行过程中抛出的异常,避免重复设置代码块进行捕获,提高了程序异常信息的生成效率。12.作为优选例子,在所述捕获所述程序运行过程中抛出的若干个异常,并确定所述若干个异常的类型,具体包括:13.通过所述异常捕获器中预设的全局异常处理类,所述异常捕获器检测所述程序运行过程中出现的异常信号;14.根据所述异常信号,所述异常捕获器获得所述程序运行过程中抛出的若干个异常;15.通过所述异常捕获器中预设的异常处理方法,对所述若干个异常进行处理,分别获得所述若干个异常的类型。16.本发明捕获所述程序运行过程中抛出的若干个异常信息,并根据所述异常处理方法分别获得所述若干个异常的异常类型,并于后续根据所述异常类型获得所述异常的异常信息。17.作为优选例子,在所述通过查询数据库中预设的异常类型表,获得所述异常的异常信息,具体包括:18.根据所述异常捕获器获取的所述异常的类型,通过预设在所述数据库中的异常类型表进行匹配,获得所述异常的异常信息。19.本发明根据所述异常捕获器获取的异常的类型,与预设在所述数据库中的异常类型表进行匹配,进而获取与所述异常类型匹配的所述异常的异常信息,本发明根据数据库管理异常信息,从而使得所述异常信息可以重复利用,同时方便后期进行维护。20.作为优选例子,在所述获得所述异常的异常信息,还包括:21.根据预设在所述异常捕获器中的异常信息展示方法,展示所述异常捕获器获得的所述异常信息。22.本发明在通过数据库获得所述异常的异常信息后,根据预设在所述异常处理方法中的异常信息展示方法,动态的正确提示异常信息给用户,方便用户对程序进行更改。23.第二方面,本发明提供了一种程序异常信息生成系统,包括启动模块、捕获模块及查询模块;24.所述启动模块用于启动程序,并在所述程序中引入预设的异常捕获器;25.所述捕获模块用于所述异常捕获器通过预设的全局异常处理类,捕获所述程序运行过程中抛出的若干个异常,并确定所述若干个异常的类型;26.所述查询模块用于根据所述异常的类型,所述异常捕获器通过查询数据库中预设的异常类型表,获得所述异常的异常信息。27.本发明提供的一种程序异常信息生成系统,通过启动模块启动程序的过程中同时引入预设的异常捕获器,以便于所述异常捕获器及时捕获所述程序运行过程中的异常,程序运行过程中,通过捕获模块中所述异常捕获器中预设全局异常处理类捕获所述程序运行过程中出现的所有异常,从而不需要就地捕获异常,提高了异常信息生成效率,接着通过预设的异常处理方法获得所述若干个异常的类型,通过所述异常处理方法即可处理不同类型的异常,避免设置不同类型的异常捕获代码块,降低了代码冗余量,最后通过查询模块根据所述异常捕获器捕获的异常类型,与所述数据库中预设的异常信息表继续匹配,获得所述异常的异常信息,本发明通过预设的异常捕获器获取所述程序运行过程中的所有异常,接着根据所述异常的类型从数据库中找到与之匹配的异常信息,提高了异常信息的生成效率,同时降低了代码冗余量。28.作为优选例子,在所述启动模块包括引入单元及填充单元;29.所述引入单元用于根据所述程序引入预设的spr i ng框架,并根据所述spr i ng框架的异常处理机制引入预设的全局异常处理类;30.所述填充单元用于通过在所述全局异常处理类填充预设的异常处理方法,获得所述异常捕获器。31.本发明在所述程序运行时,引入基于spr i ng框架预设的异常捕获器,所述异常捕获器基于所述spr i ng框架的异常处理机制设置全局异常处理类,并在所述异常处理类中添加异常处理方法,便于所述异常捕获器持续捕获所述程序运行过程中抛出的异常,避免重复设置代码块进行捕获,降低代码冗余量,提高代码复用率。32.作为优选例子,在所述查询模块包括匹配单元及展示单元;33.所述匹配单元用于根据所述异常捕获器获取的所述异常的类型,通过预设在所述数据库中的异常类型表进行匹配,获得所述异常的异常信息;34.所述展示单元用于根据预设在所述异常捕获器中的异常信息展示方法,展示所述异常捕获器获得的所述异常信息。35.本发明根据所述异常捕获器获取的异常的类型,与预设在所述数据库中的异常类型表进行匹配,进而获取与所述异常类型匹配的所述异常的异常信息,本发明根据数据库管理异常信息,从而使得所述异常信息可以重复利用,同时方便后期进行维护,同时在通过数据库获得所述异常的异常信息后,根据预设在所述异常处理方法中的异常信息展示方法,动态的正确提示异常信息给用户,方便用户对程序进行更改。36.第三方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面所述的一种程序异常信息生成方法。37.第四方面,本发明提供了一种电子设备,包括:至少一个处理器;存储装置,配置为存储至少一个程序,当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现如第一方面所述的一种程序异常信息生成方法。附图说明38.图1:为本发明实施例提供的一种程序异常信息生成方法的流程示意图;39.图2:为本发明实施例提供的一种程序异常信息生成系统的结构示意图。具体实施方式40.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。41.实施例一42.本发明实施例提供了一种程序异常信息生成方法,该方法的主要实施流程请参照图1,主要包括步骤101至步骤103,每一个步骤主要为:43.步骤101:启动程序并在所述程序中引入预设的异常捕获器。44.在本实施例中,该步骤主要包括:根据所述程序引入预设的spr i ng框架,并根据所述spr i ng框架的异常处理机制引入预设的全局异常处理类;通过在所述全局异常处理类填充预设的异常处理方法,获得所述异常捕获器。45.在本实施例中,该步骤具体为:在程序中引入spr i ng框架,并根据所述spr i ng框架统一捕获异常规则实现un i f i edexcept i onhand l er类,上面加上@contro l l eradvi ce和@component注解,并在其中注入except i onmsgdao。如下:@component46.@contro l l eradv i cepub l i c c l ass un i f i edexcept i onhand l er{47.@resource48.pr i vate except i onmsgdao except i onmsgdao;}再在所述类中编写统一的异常处理方式。49.本发明通过在所述程序运行时,引入基于spr i ng框架预设的异常捕获器,所述异常捕获器基于所述spr i ng框架的异常处理机制设置全局异常处理类,并在所述异常处理类中添加异常处理方法,便于所述异常捕获器持续捕获所述程序整个运行过程中抛出的异常,避免重复设置代码块进行捕获,提高了程序异常信息的生成效率。50.步骤102:所述异常捕获器通过预设的全局异常处理类,捕获所述程序运行过程中抛出的若干个异常,并确定所述若干个异常的类型。51.在本实施例中,该步骤具体为:通过所述异常捕获器中预设的全局异常处理类,所述异常捕获器检测所述程序运行过程中出现的异常信号;根据所述异常信号,所述异常捕获器获得所述程序运行过程中抛出的若干个异常;通过所述异常捕获器中预设的异常处理方法,对所述若干个异常进行处理,分别获得所述若干个异常的类型。52.在本实施例中,该步骤具体包括:在根据所述spr i ng框架中设置的un i f i edexcept i onhand l er类中设置的统一异常处理方法捕获所述程序运行过程中出现的若干个异常,在本实施例中,所述异常处理方法为:[0053][0054][0055]本实施例通过上述定义的异常处理方法,接管序运行中的所有异常,使得我们不需要再手动通过try{}cache{}代码块去捕获异常。[0056]在该步骤中,通过捕获所述程序运行过程中抛出的若干个异常信息,并根据所述异常处理方法分别获得所述若干个异常的异常类型,并于后续根据所述异常类型获得所述异常的异常信息。[0057]步骤103:根据所述异常的类型,所述异常捕获器通过查询数据库中预设的异常类型表,获得所述异常的异常信息。[0058]在本实施例中,该步骤主要包括:根据所述异常捕获器获取的所述异常的类型,通过预设在所述数据库中的异常类型表进行匹配,获得所述异常的异常信息;根据预设在所述异常捕获器中的异常信息展示方法,展示所述异常捕获器获得的所述异常信息。[0059]在本实施例中,该步骤具体为:在本实施例中设置的hand l ebaseexcept i on方法会把捕获到的异常发送到预先设置的数据库中进行匹配,若是匹配到了对应的异常,则将所述异常对应的异常信息展示给用户。[0060]在该步骤中,根据所述异常捕获器获取的异常的类型,与预设在所述数据库中的异常类型表进行匹配,进而获取与所述异常类型匹配的所述异常的异常信息,本发明根据数据库管理异常信息,从而使得所述异常信息可以重复利用,同时方便后期进行维护,同时根据预设在所述异常处理方法中的异常信息展示方法,动态的正确提示异常信息给用户,方便用户对程序进行更改。[0061]另一方面,本发明实施例还提供了一种程序异常信息生成系统,包括启动模块201、捕获模块202及查询模块203。[0062]所述启动模块201用于启动程序并在所述程序中引入预设的异常捕获器。[0063]所述捕获模块202用于所述异常捕获器通过预设的全局异常处理类,捕获所述程序运行过程中抛出的若干个异常,并确定所述若干个异常的类型。[0064]所述查询模块203用于根据所述异常的类型,所述异常捕获器通过查询数据库中预设的异常类型表,获得所述异常的异常信息。[0065]在本实施例中,所述启动模块201包括引入单元及填充单元;[0066]所述引入单元用于根据所述程序引入预设的spr i ng框架,并根据所述spr i ng框架的异常处理机制引入预设的全局异常处理类;[0067]所述填充单元用于通过在所述全局异常处理类填充预设的异常处理方法,获得所述异常捕获器。[0068]在本实施例中,所述捕获模块202还包括检测单元及处理单元。[0069]所述检测单元用于通过所述异常捕获器中预设的全局异常处理类,所述异常捕获器检测所述程序运行过程中出现的异常信号。[0070]所述处理单元用于根据所述异常信号,所述异常捕获器获得所述程序运行过程中抛出的若干个异常,通过所述异常捕获器中预设的异常处理方法,对所述若干个异常进行处理,分别获得所述若干个异常的类型。[0071]在本实施例中,所述查询模块203包括匹配单元及展示单元;[0072]所述匹配单元用于根据所述异常捕获器获取的所述异常的类型,通过预设在所述数据库中的异常类型表进行匹配,获得所述异常的异常信息。[0073]所述展示单元用于根据预设在所述异常捕获器中的异常信息展示方法,展示所述异常捕获器获得的所述异常信息。[0074]除上述方法及系统之外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行本发明实施例提供的一种程序异常信息生成方法,同时还提供了一种电子设备,包括:至少一个处理器;存储装置,配置为存储至少一个程序,当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现本发明实施例提供的一种程序异常信息生成方法。[0075]本发明实施例提供的一种程序异常信息生成方法及系统,在启动程序的过程中同时引入预设的异常捕获器,以便于所述异常捕获器在所述程序开始运行时及时捕获所述程序运行过程中的异常,在所述程序运行的过程中,根据所述异常捕获器中预设的全局异常处理类,捕获所述程序整个运行过程中抛出的所有异常,从而避免当所述程序出现异常是再设置异常处理代码进行异常捕获,提高了程序异常信息生成的效率,接着当通过所述全局异常处理类捕获所有的异常后,根据所述异常处理类中预设的异常处理方法,获得所述异常的类型,以便于所述异常捕获器根据所述异常捕获器捕获的异常类型,与数据库中预设的异常信息表进行匹配,根据所述异常类型找到所述异常的异常信息,通过所述数据库管理各种异常信息,解决现有技术中因设置不同的异常处理代码块获得异常信息从而使得代码冗余量大的技术问题,降低了代码冗余量,同时所述异常捕获器根据所述数据库找到异常信息,使得所述异常信息能够重复使用,提高了代码使用的灵活性。[0076]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部