一种受检异常检测方法、装置、设备及存储介质制造方法及图纸

技术编号:26970085 阅读:71 留言:0更新日期:2021-01-05 23:59
本发明专利技术实施例公开了一种受检异常检测方法、装置、设备及存储介质。其中,该方法包括:接收受检异常检测指令,其中,所述受检异常检测指令在对基于预设编程语言编写的待检测程序的编译过程中生成;利用静态语法树分析功能对所述待检测程序进行分析,得到所述待检测程序中未处理的受检异常;反馈所述未处理的受检异常。本发明专利技术实施例提供的技术方案,能够及时反馈未处理的受检异常,有利于提高待检测程序的正确性及安全性。

【技术实现步骤摘要】
一种受检异常检测方法、装置、设备及存储介质
本专利技术实施例涉及计算机
,尤其涉及一种受检异常检测方法、装置、设备及存储介质。
技术介绍
随着计算机技术的发展,在计算机软件开发过程中有多种编程语言以供使用,常用的语言有:C语言、C++语言、Java语言、Python语言及数据库开发语言等。在Java语言中通过受检异常(CheckedException)处理功能可以在编译阶段强制检查异常,使得发现错误的时期是在编译期间,而不是在运行时期,通过直观的异常提示简化了处理异常的方式。但是在其他语言,例如Kotlin语言中,没有CheckedException功能,在Kotlin中所有的异常都不强制进行异常的检查,关于异常无法进行静态分析,此时需要依赖开发人员自己分析及梳理需要处理的异常,浪费了时间和精力。
技术实现思路
本专利技术实施例提供了受检异常检测方法、装置、设备及存储介质,可以及时反馈未处理的受检异常,有利于提高待检测程序的正确性及安全性。第一方面,本专利技术实施例提供了一种受检异常检测方法,该方法包括:...

【技术保护点】
1.一种受检异常检测方法,其特征在于,包括:/n接收受检异常检测指令,其中,所述受检异常检测指令在对基于预设编程语言编写的待检测程序的编译过程中生成;/n利用静态语法树分析功能对所述待检测程序进行分析,得到所述待检测程序中未处理的受检异常;/n反馈所述未处理的受检异常。/n

【技术特征摘要】
1.一种受检异常检测方法,其特征在于,包括:
接收受检异常检测指令,其中,所述受检异常检测指令在对基于预设编程语言编写的待检测程序的编译过程中生成;
利用静态语法树分析功能对所述待检测程序进行分析,得到所述待检测程序中未处理的受检异常;
反馈所述未处理的受检异常。


2.根据权利要求1所述的方法,其特征在于,所述利用静态语法树分析功能对所述待检测程序进行分析,得到所述待检测程序中未处理的受检异常,包括:
利用静态语法树分析功能获取所述待检测程序中的调用栈中包含的调用方法以及所述调用方法之间的继承关系信息;
对所述调用方法和所述继承关系信息进行分析,得到所述待检测程序中未处理的受检异常。


3.根据权利要求2所述的方法,其特征在于,所述对所述调用方法和所述继承关系信息进行分析,得到所述待检测程序中未处理的受检异常,包括:
查看所述调用方法的函数声明处是否存在需要捕获的目标受检异常;
若存在,则将所述目标受检异常以及所述目标受检异常对应的继承关系信息作为受检异常信息,加入到受检异常信息集合;
对所述受检异常信息集合中的受检异常信息进行分析,确定所述待检测程序中未处理的受检异常。


4.根据权利要求3所述的方法,其特征在于,所述查看所述调用方法的函数声明处是否存在需要捕获的目标受检异常,包括:
查看所述调用方法的函数声明处抛出的所有异常类;
根据所述继承关系信息判断所述所有异常类中是否存在预设异常类之外的目标异常类,若存在,则将所述目标异常类确定为需要捕获的目标受检异常,其中,所述预设异常类包括错误类和错误类的子类、以及运行时异常类和运行时异常类的子类。


5.根据权利要求3所述的方法,其特征在于,所述对所述受检异常信息集合中的受检异常信息进行分析,确定所述待检测程序中未处理的受检异常,包括:
针对所述受检异常信息集合中的每个受检异常信息,采用预设规则根据当前受检异常信息判断对应的当前目标受检异常是否已被处理,若未被处理,则将所述当前目标受检异常确定为未处理受检异常;
汇总所有未处理受检异常,得到所述待检测程序中未处理的受检异常。


6.根据权利要求5所述的方法,其特征在于,所述采用预设规则根据当前受检异常信息判断对应的当前目标受检异常是否已被处理,包括:
根据当前受检异常信息确定对应的当前目标受检异常;
判断所述当前目标受检异常所对应的函数体中是否已申明所述当前目标受检异常;
若已申明,则确定所述当前目标受检异常已被处理。


7.根据权利要求6所述的方法,其特征在于,在所述判断所述当前目标受检异常所对应的函数体中是否已申明所述当前目标受检异常之后,还包括:
若未申明,则判断所述当前目标受检异常所对应的函数体中是否已针对所述当前目标受检异常进行尝试捕获异常处理;
若已进行尝试捕获异常处理,则确定所述当前目标受检异常已被处理。


8.根据权利要求7所述的方法,其特征在于,所述判断所述当前目标受检异常所对应的函数体中是否已针对所述当前目标受检异常进行尝试捕获异常处理,包括:
判断所述当前目标受检异常所对应的函数体中是否包含尝试捕获异常处理对应的捕获代码块;<...

【专利技术属性】
技术研发人员:施旺
申请(专利权)人:有半岛北京信息科技有限公司
类型:发明
国别省市:北京;11

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

1