[发明专利]一种异常处理方法、装置、设备及存储介质有效
申请号: | 202110333171.6 | 申请日: | 2021-03-29 |
公开(公告)号: | CN113032100B | 公开(公告)日: | 2023-07-18 |
发明(设计)人: | 刘洪凯 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京开阳星知识产权代理有限公司 11710 | 代理人: | 王雪 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 异常 处理 方法 装置 设备 存储 介质 | ||
本公开提供了一种异常处理方法、装置、设备及存储介质,所述方法包括:如果确定基于JNI调用的java代码发生异常事件,则获取异常事件对应的java异常对象。然后,删除异常事件对应的异常标识。最终,基于JNI调用预置的java异常处理程序,利用java异常处理程序对java异常对象进行异常处理;java异常处理程序用于将异常对象对应的异常事件上报为java崩溃事件。本公开通过调用java异常处理程序对java代码发生的异常事件进行处理,将java代码发生的异常事件上报为java崩溃事件,降低因异常事件类型上报错误导致的聚合分析结果不准确问题的发生概率。
技术领域
本公开涉及数据处理领域,尤其涉及一种异常处理方法、装置、设备及存储介质。
背景技术
java本地接口(Java Native Interface;JNI),是一种允许运行于java虚拟机JVM的java代码去调用本地代码,同时也允许本地代码去调用java代码的本地接口。
目前,当本地代码通过JNI去调用运行于JVM的java代码时,如果java代码发生异常事件,系统不会崩溃,而是返回至本地代码,如果此时再继续调用java代码,则会被认定为本地发生崩溃事件,即native崩溃,很容易导致后续开发人员基于认定的崩溃类型对本次异常事件进行聚合分析等处理的结果不准确。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种异常处理方法、装置、设备及存储介质,能够将java代码发生的异常事件上报为java崩溃事件,降低因异常事件类型上报错误导致的聚合分析结果不准确问题的发生概率。
第一方面,本公开提供了一种异常处理方法,所述方法包括:
如果确定基于java本地接口JNI调用的java代码发生异常事件,则获取所述异常事件对应的java异常对象;其中,所述java异常对象用于表征所述异常事件;
删除所述异常事件对应的异常标识;所述异常标识用于表征java虚拟机处于异常工作状态;
基于所述JNI调用预置的java异常处理程序,并利用所述java异常处理程序对所述java异常对象进行异常处理;其中,所述java异常处理程序用于将异常对象对应的异常事件上报为java崩溃事件。
一种可选的实施方式中,所述如果确定基于java本地接口JNI调用的java代码发生异常事件,则获取所述异常事件对应的java异常对象之前,还包括:
在检测到基于JNI调用java代码后,确定被调用的所述java代码是否发生异常事件。
一种可选的实施方式中,所述基于所述JNI调用预置的java异常处理程序,并利用所述java异常处理程序对所述java异常对象进行异常处理,包括:
基于所述JNI调用预设异常解决类中的预设java方法,并将所述java异常对象传递至所述预设java方法;
利用所述预设java方法调用预置的java异常处理程序,并将所述java异常对象传递至所述java异常处理程序;
利用所述java异常处理程序对所述java异常对象进行异常处理。
一种可选的实施方式中,所述基于所述JNI调用预设异常解决类中的预设java方法之前,还包括:
将预设异常解决类设置为全局引用;
获取所述预设异常解决类中的预设java方法的标识;
相应的,所述基于所述JNI调用预设异常解决类中的预设java方法,包括:
基于所述预设java方法的标识,通过所述JNI调用预设异常解决类中的所述预设java方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110333171.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:能安装汽座的可拆座位
- 下一篇:一种复合超滤膜及其制备方法