【技术实现步骤摘要】
异常处理方法、远程泊车辅助系统及计算机存储介质
[0001]本专利技术涉及数据处理领域,尤其涉及一种异常处理方法、远程泊车辅助系统及计算机存储介质。
技术介绍
[0002]现有技术中,远程泊车辅助系统的应用层包括多个功能模块,各模块都有自己的核心工作线程,它们的业务逻辑处理也都在各自的工作线程内部完成,但没有定义一套完整的Failsafe异常处理框架,可以让多个功能模块的工作线程同时捕获和处理各自的异常和错误。考虑到嵌入式软硬件资源有限,远程泊车辅助系统采用C语言编写。C语言本身没有Failsafe的异常处理原语和处理机制,无法满足各个功能模块对异常进行捕获处理的实际需求。
技术实现思路
[0003]有鉴于此,本专利技术提供了一种异常处理方法、远程泊车辅助系统及计算机存储介质,能通过C语言实现多线程的统一异常处理。
[0004]第一方面,本专利技术提供了一种异常处理方法,包括:
[0005]对进程和工作线程依次初始化后,在所述工作线程内部运行C语言异常处理原语;
[0006]根据所述工 ...
【技术保护点】
【技术特征摘要】
1.一种异常处理方法,其特征在于,包括:对进程和工作线程依次初始化后,在所述工作线程内部运行C语言异常处理原语;根据所述工作线程确定对应的异常栈链列表,在所述异常栈链列表创建异常帧以存储异常;调用抛出异常帧的函数以捕获异常,处理所述异常后清除所述异常帧。2.根据权利要求1所述的异常处理方法,其特征在于,所述对进程和工作线程依次初始化,包括:对内存池初始化;调用异常环境管理器创建全局线程互斥对象以及全局map对象,初始化所述全局map对象;在当前进程创建工作线程;在所述工作线程调用所述异常环境管理器进入线程锁,创建异常环境上下文对象和异常栈链列表;创建map结构体对象,所述map结构体对象用于存储异常状态节点;初始化所述map结构体对象。3.根据权利要求2所述的异常处理方法,其特征在于,所述map结构体对象为红黑树结构,所述map结构体对象的键值为所述工作线程的名称,所述map结构体对象的取值为所述工作线程的上下文对象,所述上下文对象中包括所述异常状态节点。4.根据权利要求2所述的异常处理方法,其特征在于,所述根据所述工作线程确定对应的异常栈链列表,在所述异常栈链列表创建异常帧以存储异常,包括:根据所述工作线程的名称获取异常处理上下文对象;在所述异常处理上下文对象中查找输入异常状态节点;若存在输入异常状态节点,且所述输入异常状态节点等于当前异常状态节点,则进入线程锁,初始化当前异常状态节点后,离开所述线程锁;若不存在输入异常状态节点,则进入线程锁,创建并初始化异常帧,在所述异常帧中创建异常状态节点,将所述异常状态节点加入所述异常栈链列表后,离开所述线程锁。5.根据权利要求4所述的异常处理方法,其特征在于,所述调用抛出异常帧的函数以捕获异常,包括:判断所述异常帧的当前异常状态节点是否存在且所述异常帧为已尝试和正在捕获状态;若是,则继续处理下一异常状态节点;若否,则打印所述异常栈链列表中的所有异常帧,并对...
【专利技术属性】
技术研发人员:白勍,
申请(专利权)人:宁波吉利汽车研究开发有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。