捕获全局异常的系统及方法技术方案

技术编号:7030209 阅读:221 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种捕获全局异常的系统,涉及手机应用开发技术领域,所述系统包括:异常处理控制模块,还包括:与所述异常处理控制模块连接的至少一个异常处理模块,所述异常处理控制模块,用于当应用程序发生未捕获异常时,获得相应的参数,并将所述参数发送至所述异常处理模块;所述异常处理模块,用于接收到所述参数后,进行相应处理。本发明专利技术通过设置异常处理控制模块和异常处理模块对未捕获异常进行相应处理,使得在用户不进行反馈的情况下,获取在开发和测试过程中无法捕获的异常,以实现获取应用程序中的全局异常。

【技术实现步骤摘要】

本专利技术属于手机应用开发
,特别涉及一种。
技术介绍
目前Android应用已经涉足到很多领域,包括浏览器、即时通讯Qnstant Messaging, IM)、咨询及各种商业软件等等,给我们的用户带来很大的方便,但在应用开发中难免会有程序缺陷导致软件崩溃,而这些缺陷发生时软件开发商也无法得知,导致无法第一时间修复缺陷,给用户带来了不好的体验。目前Android操作系统上主要靠开发人及测试人员的不断测试及用户的主动回馈来发现并解决缺陷。现有方案具有如下缺陷1、开发及测试人员并不能保证百分百的测试覆盖率。2、用户回馈是一个被动行为,并不能保证程序发生异常时用户都会主动回馈。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是如何在用户不进行反馈的情况下,获取在开发和测试过程中无法捕获的异常,以实现获取应用程序中的全局异常。( 二 )技术方案为解决上述技术问题,本专利技术提供了一种捕获全局异常的系统,所述系统包括异常处理控制模块,还包括与所述异常处理控制模块连接的至少一个异常处理模块,所述异常处理控制模块,用于当应用程序发生未捕获异常时,获得相应的参数,并将所述参数发送至所述异常处理模块;所述异常处理模块,用于接收到所述参数后,进行相应处理。优选地,所述异常处理模块包括异常收集模块,所述异常收集模块用于在接收到所述参数时,收集所述应用程序的异常信息。优选地,所述异常收集模块,还用于先将所述异常信息存储至本地的文件或数据库中,当下次运行应用程序时,检测本地是否有未发送的异常信息,若有,则将所述未上传的异常信息发送至所述应用程序对应的服务器。优选地,所述异常处理模块还包括崩溃处理模块,所述崩溃处理模块用于接收到所述参数时,获取所述应用程序最后的操作,并将所述最后的操作发送至所述应用程序对应的服务器。优选地,所述应用程序装载于手机操作系统中。本专利技术公开了一种基于所述捕获全局异常的系统的方法,包括以下步骤Sl 当应用程序发生未捕获异常时,异常处理控制模块获得相应的参数,并将所述参数发送至异常处理模块;S2 所述异常处理模块接收到所述参数后,进行相应处理。优选地,步骤Sl之前还包括步骤SO 将异常处理控制模块注册至应用程序中,并将异常处理模块注册至所述异常处理控制模块中。 优选地,步骤S2中包括S201 异常收集模块在接收到所述参数时,收集所述应用程序的异常信息。优选地,步骤S201之后包括S202 先将所述异常信息存储至本地的文件或数据库中,当下次运行应用程序时, 检测本地是否有未发送的异常信息,若有,则将所述未上传的异常信息发送至所述应用程序对应的服务器。优选地,步骤S201之后包括S203:崩溃处理模块接收到所述参数时,获取所述应用程序最后的操作,并将所述最后的操作发送至所述应用程序对应的服务器。(三)有益效果本专利技术通过设置异常处理控制模块和异常处理模块对未捕获异常进行相应处理, 使得在用户不进行反馈的情况下,获取在开发和测试过程中无法捕获的异常,以实现获取应用程序中的全局异常。避免了在应用开发中因有程序缺陷而导致软件崩溃,也避免了在这些缺陷发生时软件开发商由于无法得知,而导致不能第一时间修复缺陷,给用户带来不好体验的问题。附图说明图1是按照本专利技术一种实施方式的捕获全局异常的系统的结构框图;图2是基于图1所示的捕获全局异常的系统的方法的流程图。具体实施例方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。参见图1,本实施方式以包括三个异常处理模块的系统来说明本专利技术,但不限定本专利技术的范围,所述系统包括异常处理控制模块,还包括与所述异常处理控制模块连接的三个异常处理模块,所述异常处理控制模块,用于当应用程序发生未捕获异常时,获得相应的参数,并将所述参数发送至所述异常处理模块,优选地,本实施方式的所述应用程序装载于手机操作系统中,特别是Android操作系统中;所述异常处理模块,用于接收到所述参数后,进行相应处理,所述未捕获异常为在现有技术中,应用程序在开发和测试过程中无法捕获的异常,例如应用程序崩溃。异常处理模块可以根据具体的需求来进行设置,例如,所述异常处理模块可包括 异常收集模块,所述异常收集模块用于在接收到所述参数时,收集所述应用程序的异常信肩、ο所述异常收集模块,还用于先将所述异常信息存储至本地的文件或数据库中,当下次运行应用程序时,检测本地是否有未发送的异常信息,若有,则将所述未上传的异常信息发送至所述应用程序对应的服务器。所述异常处理模块还可包括崩溃处理模块,所述崩溃处理模块用于接收到所述参数时,获取所述应用程序最后的操作(本实施方式中,可采用记录用于对应用程序的功能点使用情况来对功能点进行统计,以实现获取所述应用程序最后的操作),并将所述最后的操作发送至所述应用程序对应的服务器。本专利技术还公开了一种基于所述捕获全局异常的系统的方法,参照图2,包括以下步骤Sl 当应用程序发生未捕获异常时,异常处理控制模块获得相应的参数,并将所述参数发送至异常处理模块;S2 所述异常处理模块接收到所述参数后,进行相应处理。由于Android操作系统的每个应用程序都对应一个Application,Application 负责应用程序全局资源的管理,它的生命周期就是整个应用程序的生命周期,故在 Application创建时注册所述异常处理控制模块,优选地,步骤Sl之前还包括步骤SO 将异常处理控制模块注册至应用程序中,并将异常处理模块注册至所述异常处理控制模块中;所述异常处理模块根据功能的划分可以分为N个,根据具体的需求而定, 当异常处理模块使用时,处于观察者模式,将异常处理模块注册至所述异常处理控制模块中。步骤S2中包括S201 异常收集模块在接收到所述参数时,收集所述应用程序的异常信息。步骤S2中包括S202 先将所述异常信息存储至本地的文件或数据库中,当下次运行应用程序时, 检测本地是否有未发送的异常信息,若有,则将所述未上传的异常信息发送至所述应用程序对应的服务器。步骤S202之后包括S203 崩溃处理模块接收到所述参数时,获取所述应用程序最后的操作,并将所述最后的操作发送至所述应用程序对应的服务器。以上实施方式仅用于说明本专利技术,而并非对本专利技术的限制,有关
的普通技术人员,在不脱离本专利技术的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本专利技术的范畴,本专利技术的专利保护范围应由权利要求限定。权利要求1.一种捕获全局异常的系统,其特征在于,所述系统包括异常处理控制模块,还包括与所述异常处理控制模块连接的至少一个异常处理模块,所述异常处理控制模块,用于当应用程序发生未捕获异常时,获得相应的参数,并将所述参数发送至所述异常处理模块;所述异常处理模块,用于接收到所述参数后,进行相应处理。2.如权利要求1所述的捕获全局异常的系统,其特征在于,所述异常处理模块包括异常收集模块,所述异常收集模块用于在接收到所述参数时,收集所述应用程序的异常信息。3.如权利要求2所述的捕获全局异常的系统,其特征在于,所述异常收集模块,还用于先将所述异常信息存储至本地的文件或数据库中,当下次运行应用程序时,检测本地是否有未发送的异常本文档来自技高网
...

【技术保护点】
1.一种捕获全局异常的系统,其特征在于,所述系统包括:异常处理控制模块,还包括与所述异常处理控制模块连接的至少一个异常处理模块,所述异常处理控制模块,用于当应用程序发生未捕获异常时,获得相应的参数,并将所述参数发送至所述异常处理模块;所述异常处理模块,用于接收到所述参数后,进行相应处理。

【技术特征摘要】

【专利技术属性】
技术研发人员:钟光文孙琳
申请(专利权)人:北京新媒传信科技有限公司
类型:发明
国别省市:11

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

1