liteos错误处理(十一)
1. 概述
1.1 基本概念
错误处理指用户代码发生错误时,系统调用错误处理模块的接口函数,完成上报错误信息,并调用用户自己的钩子函数,进行特定的处理。
错误处理模块实现OS内部错误码记录功能。OS内部错误码无法通过接口返回,通常会上报错误处理模块进行记录。用户可以通过挂接错误处理的钩子函数,进行特定的处理。如果OS上报的错误是致命错误,系统会进行异常流程接管,从而可以保存现场以便定位问题。
通过错误处理,我们可以把用户在程序中的非法输入进行控制和提示,以防程序崩
溃。
1.2 运作机制
错误处理是一种机制,用于处理异常状况。通过错误处理,我们可以将用户在程序中的非法输入进行控制和提示,以防程序崩溃。当程序出现异常错误的时候,会显示相应的错误码用于提示用户。此外,如果有相应的错误处理程序,则会执行这个程序,以防程序崩溃。

2. 开发指导
2.1 功能
错误处理模块为用户提供下面几种功能。
| 功能分类 | 接口名 | 描述 |
|---|---|---|
| 错误处理 | LOS_ErrHandle | 根据错误处理函数来对错误进行处理 |
3. 编程实例
3.1 实例
在下面的例子中,演示如下功能:
- 执行错误处理函数
3.2 编程实例
代码实现如下:
extern USER_ERR_FUNC_S g_stUserErrFunc;
void *err_handler(CHAR *pcFileName,UINT32 uwLineNo,
UINT32 uwErrorNo,UINT32 uwParaLen,VOID *pPara)
{
printf("err handel ok\n");
}
UINT32 Example_ErrCaseEntry(VOID)
{
/*执行错误处理函数*/
LOS_ErrHandle(NULL, 0,0,0, NULL);
return LOS_OK;
}
3.3 结果
编译运行得到的结果

liteos错误处理(十一)的更多相关文章
- LINUX下编译安装PHP各种报错大集合
本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...
- 可维护的javascript
理论上我只能把序看完....... 第一章:基本的格式化 1.1:JSLint,JSHint查找代码中潜在的错误. 1.2:缩进:空格(2,4,8没有兼容性)和tab(不同的编辑器展现不一样),在编辑 ...
- Java知识总结
...
- JS核心笔记
一.说明 JS权威指南文字用红色标出: JS高级程序设计用橙色标出; 自己加上的文字用粉红色标出: 其(一)-(九)为JS权指南,(十)为JS高级程序设计 二.记法结构 2.1字符集 Javascri ...
- Golang语言的入门开始
一.golang介绍与安装 二.golang-hello world 三.golang的变量 四.golang的类型 五.golang的常量 六.golang的函数(func) 七.golang的包 ...
- Vue使用过程中常见问题
目录 一.vue监听不到state数组/json对象内的元素的值的变化,要手动通知触发 二.vue用splice删除多维数组元素导致视图更新失败情况 三.vue项目如何部署到php或者java环境的服 ...
- 001-RESTful服务最佳实践-RestFul准则、HTTP动词表示含义、合理的资源命名、响应格式XML和JSON
一.概述 因为REST是一种架构风格而不是严格的标准,所以它可以灵活地实现.由于这种灵活性和结构自由度,对设计最佳实践也有很大的差异. API的方向是从应用程序开发人员的角度考虑设计选择. 幂等性 不 ...
- Linux_(4)Shell编程(下)
五.shell流程控制1.一重分支if 语句语法格式:if condition then command1 fi末尾的fi就是if倒过来. 写成一行: if condition; then comma ...
- it面试技巧
一:请你自我介绍一下你自己? 回答提示:一般人回答这个问题过于平常,只说姓名.年龄.爱好.工作经验,这些在简历上都有.其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能.最深入研究的知识领域 ...
随机推荐
- Java实现MapReduce Wordcount案例
先改pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww ...
- 利用开源软件自建WAF系统--OpenResty+unixhot
目录 介绍 安装Openresty 修改nginx.conf 部署WAF 测试WAF 简介:利用OpenResty+unixhot自建WAF系统 介绍 OpenResty是一个基于 Nginx 与 ...
- C++学习五 const vector<int>类型的迭代器使用
一情景: 算法功能:对于传入的vector, 能够找到两个数字,使其相加之和为target,然后返回这两个数字的位置(也就是秩) 最开始是这样的一个问题: 对于一个传入的const vector< ...
- Linux学习(五)远程登录
Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器. 这时我们就需要远程登录到Linux服务器来管理维护系统. Linux系统中是通过ssh服务实现的远程登录功 ...
- 面向对象程序设计(Java) 第7周学习指导及要求
2019面向对象程序设计(Java)第7周学习指导及要求 (2019.10.11-2019.10.14) 学习目标 掌握四种访问权限修饰符的使用特点: 掌握Object类的用途及常用API: 掌握Ar ...
- 富文本编辑器Simditor
文档地址:https://simditor.tower.im/docs/doc-usage.html 父组件: options: { placeHolder: 'this is placeHolder ...
- day8_类的装饰器和反射
""" 类的装饰器: @property 当类的函数属性声明 @property后, 函数属性不需要加括号 即可调用 @staticmethod 当类的函数属性声明 @s ...
- Feign的介绍与使用(五)
一.Feign的介绍 Feign是一个声明式 WebService 客户端,使用Feign能够让编写Web Service 客户端更加简单,它的使用方法是定义一个接口,然后在上面添加注解,同时也支持J ...
- Ant风格路径表达式
ANT通配符有三种: ? 匹配任何单字符 * 匹配0或者任意数量的字符 ** 匹配0或者更多的目录 举例: /project/*.a 匹配项目根路径下所有在project路径下的.a文件 /proje ...
- 2019 SDN上机第一次作业
2019 SDN上机第一次作业 1. 安装轻量级网络仿真工具Mininet 安装Mininet的步骤 - git clone git://github.com/mininet/mininet - cd ...