一种异常捕获方法及装置与流程

专利2026-03-09  18


本公开属于异常处理,具体涉及一种异常捕获方法及装置。


背景技术:

1、异常是指程序指令非正常执行的情况,比如空指针、数组下标越界、类型强制转换等,由此导致程序异常退出。在移动应用开发中,这种技术可以帮助开发人员快速识别和解决应用程序中的错误和异常。由于移动设备的资源和屏幕尺寸有限,当应用程序出现异常导致应用程序崩溃或无响应时可能会导致用户不满意,甚至导致应用程序被删除。


技术实现思路

1、针对现有技术中的不足,本公开的目的在于提供一种异常捕获方法,本方法通过自定义全局异常处理器对所捕获的异常进行处理,可以更灵活、更高效地管理移动应用程序中的异常情况,能够提高程序的健壮性和用户体验。本公开公开一种针对移动应用的全局异常捕获方法及装置,其能有效提高应用程序稳定性和可靠性。

2、为实现上述目的,本公开提供以下技术方案:

3、一种异常捕获方法,包括以下步骤:

4、s100:捕获移动应用程序运行过程中抛出的异常;

5、s200:调用异常处理接口,将捕获的异常通过自定义全局异常处理器进行处理,其中,所述自定义全局异常处理器需对所捕获的异常类型采取不同的处理策略;

6、s300:返回经自定义全局异常处理器处理后的异常处理结果。

7、优选的,步骤s200中,所述自定义全局异常处理器通过以下步骤创建:

8、s201:定义异常处理器类;

9、s202:定义异常处理方法;

10、s203:实现异常处理逻辑。

11、优选的,步骤s203之后,所述自定义全局异常处理器可以执行如下步骤:

12、s204:按异常处理逻辑对不同类型异常进行相应的处理。

13、优选的,步骤s100中,所述异常包括主线程异常和子线程异常。

14、优选的,当捕获的异常为主线程异常,通过以下步骤进行处理:

15、在消息循环处的代码块中增加异常捕获机制,得到所述应用程序线程异常的捕获机制,消息循环包含在looper.loop()处添加循环机制捕获主线程向外发出的消息异常即throwable。

16、优选的,当捕获的异常为子线程异常,为子线程单独设置一个未捕获异常处理器并调用该异常处理器。

17、本公开还提供一种异常捕获装置,包括:

18、异常捕获模块,用于捕获移动应用程序运行过程中抛出的异常;

19、异常处理模块,用于调用异常处理接口,将捕获的异常通过自定义全局异常处理器进行处理,其中,所述自定义全局异常处理器需对所捕获的异常类型采取不同的处理策略;

20、结果返回模块,用于返回经自定义的异常处理器处理后的异常处理结果。

21、本公开还提供一种电子设备,包括:

22、存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,

23、所述处理器执行所述程序时实现如前任一所述的方法。

24、本公开还提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行如前任一所述的方法。

25、与现有技术相比,本公开带来的有益效果为:在发生异常时,本公开利用自定义全局异常处理器对捕获的异常进行处理,能够使得应用程序不会崩溃退出,提升了用户在使用应用程序的体验。同时,保证了用户的数据不会损失,不影响用户操作应用程序。



技术特征:

1.一种异常捕获方法,包括以下步骤:

2.根据权利要求1所述的方法,其中,优选的,步骤s200中,所述自定义全局异常处理器通过以下步骤创建:

3.根据权利要求1所述的方法,其中,优选的,步骤s100中,所述异常包括主线程异常和子线程异常。

4.根据权利要求3所述的方法,其中,当捕获的异常为主线程异常,通过以下步骤进行处理:

5.根据权利要求3所述的方法,其中,当捕获的异常为子线程异常,为子线程单独设置一个未捕获异常处理器并调用该异常处理器。

6.一种异常捕获装置,包括:

7.一种电子设备,包括:

8.一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至5任一所述的方法。


技术总结
本公开揭示了一种异常捕获方法,包括:S100:捕获移动应用程序运行过程中抛出的异常;S200:调用异常处理接口,将捕获的异常通过自定义全局异常处理器进行处理,其中,所述自定义全局异常处理器需对所捕获的异常类型采取不同的处理策略;S300:返回经自定义全局异常处理器处理后的异常处理结果。本公开通过自定义全局异常处理器对捕获的异常进行处理,能够更灵活、更高效地管理移动应用程序中的异常情况,从而避免应用程序崩溃退出,一方面提升了用户在使用应用程序的体验,另一方面保证了用户的数据不会损失,不影响用户操作应用程序。

技术研发人员:姜斌,张理,梁利锋
受保护的技术使用者:信义泛娱(北京)网络科技有限公司
技术研发日:
技术公布日:2024/7/25
转载请注明原文地址: https://bbs.8miu.com/read-439595.html

最新回复(0)