一种异常处理方法及装置制造方法及图纸

技术编号:24888450 阅读:32 留言:0更新日期:2020-07-14 18:15
本公开提供了一种异常处理方法及装置,包括:捕获异常对象;在检测到所述异常对象的类型为内存溢出异常对象时,将所述异常对象传输至本地native层;在所述本地native层,获取所述异常对象所对应的调用信息,并将所述调用信息写入日志文件,其中,所述调用信息用于表示抛出所述异常对象的方法与其它方法之间的调用关系;将生成的所述日志文件传输至服务器。

【技术实现步骤摘要】
一种异常处理方法及装置
本公开涉及计算机
,具体而言,涉及一种异常处理方法及装置。
技术介绍
java程序运行在java层上,在运行过程中出现异常时,会抛出异常,有些异常可以通过业务代码进行捕获并处理,有些异常无法通过业务代码进行处理,因此可能会导致应用程序崩溃重启。相关技术中,针对无法通过业务代码进行捕获处理的异常,在应用程序关闭之前,会通过系统代码捕获异常对象,然后根据异常对象的调用栈信息,生成日志文件,并在应用程序再次启动时上传至服务器,开发人员可以通过获取服务器中的日志文件,来对应用程序进行调试。然而,由于在根据异常对象的调用栈信息,生成日志文件的过程中需要执行大量的操作,在这个过程中,会占用java层的运行内存,从而可能会导致在生成日志文件之前,java层的内存不足的问题,进而再次导致应用程序崩溃,无法正确生成并上传日志文件。
技术实现思路
本公开实施例至少提供一种异常处理方法及装置。第一方面,本公开实施例提供了一种异常处理方法,包括:捕获异常对象;在检测到所述异常对象的类型为内存溢出本文档来自技高网...

【技术保护点】
1.一种异常处理方法,其特征在于,包括:/n捕获异常对象;/n在检测到所述异常对象的类型为内存溢出异常对象时,将所述异常对象传输至本地native层;/n在所述本地native层,获取所述异常对象所对应的调用信息,并将所述调用信息写入日志文件,其中,所述调用信息用于表示抛出所述异常对象的方法与其它方法之间的调用关系;/n将生成的所述日志文件传输至服务器。/n

【技术特征摘要】
1.一种异常处理方法,其特征在于,包括:
捕获异常对象;
在检测到所述异常对象的类型为内存溢出异常对象时,将所述异常对象传输至本地native层;
在所述本地native层,获取所述异常对象所对应的调用信息,并将所述调用信息写入日志文件,其中,所述调用信息用于表示抛出所述异常对象的方法与其它方法之间的调用关系;
将生成的所述日志文件传输至服务器。


2.根据权利要求1所述的方法,其特征在于,所述捕获异常对象包括:
通过预先注册的异常捕获函数捕获异常对象;
所述将生成的所述日志文件传输至服务器,包括:
在应用程序重新启动之后,将生成的所述日志文件传输至所述应用程序对应的服务器。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在检测到所述异常对象的类型不是内存溢出异常对象时,在java层获取所述异常对象对应的调用信息;
将获取的所述调用信息写入日志文件中,并在应用程序再次被启动后,将生成的日志文件传输至所述服务器。


4.根据权利要求1所述的方法,其特征在于,所述获取所述异常对象所对应的调用信息,并将所述调用信息写入日志文件,包括:
通过解析所述异常对象中所封装的异常信息,获取所述异常对象对应的native层指针地址;所述native层指针地址为所述异常对象对应的调用信息的存储地址;
基于所述native层指针地址,获取所述调用信息;
将获取的所述调用信息写入日志文件。


5.根据权利要求1~4任一所述的方法,其特征在于,所述将获取的所述调用信息写入日志文件,包括:
在所述native层构建字符串对象;
将所述调用信息写入构建的所述字符串对象中;
将携带所述调用信...

【专利技术属性】
技术研发人员:朴英敏
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

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

1