导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[爱吃肉][原创]Windows Embedded



No.21606
作者:爱吃肉
邮件:wa.fiet@yahoo.com.cn
ID:95577
登陆:1次
文章数:78篇
最后登陆IP:
最后登陆:2007/12/5 16:33:41
注册:2007/12/5 16:33:41
财富:100
发帖时间:2008/4/23 16:47:32
发贴者IP:221.221.126.160
标题:爱吃肉:[原创]Windows Embedded的异常处理
摘要:No.21606[原创]Windows Embedded的异常处理 意外情况处理是强大的编程技术。强大的类型检查和确认是防止意外异常,确保文档记录及代码检查的有力工具。发现问题的杀伤力越早,这个问题就越容易解决。
相应一套的WIN32 API 起函数能容易的发现未预料到的错误状况,并且使之恢复。
结构化的意外情况处理,允许危险的段的代码可能由于硬件资源的问题、设备的冲突和微小的编码错误而导致失败,以使这部分程序与其余的应用程序分开。
在大多数32 位Windows平台上应用WIN32 API 的程序员在运用意外情况句柄的时候通常有两种选择,用C或 C++ 编写应用程序,并且利用WIN32提供的处理意外情况的宏,或者利用C++ 编写应用程序,并且使用C++ 语言定义的意外情况处理函数。
对于这种程序的编写,Windows CE的开发者因无法访问C++的(面向Windows CE的Visual C++ 目前还不支持意外情况处理,所以必须使用WIN32 API的意外情况处理宏。try 以及finally 宏,产生了使用意外情况句柄的所必要的底层代码。
定义异常宏:
1、Raise(type, msg):抛出type异常,msg为异常信息 
2、RaiseMessage(msg):抛出异常,相当于Raise(EXCEPT_ALL, msg) 
3、ReRaise():重新抛出以前的异常 
4、异常响应。对可能出现的异常进行处理(无异常时,处理代码不执行):
* TRY *
* 正常代码 *
* ON_EXCEPT(type) *
* 可选项。处理type异常的代码,可在EXCEPT前连续使用 *
* EXCEPT *
* 可选项。所有异常处理代码,相当于ON_EXCEPT(EXCEPT_ALL) 
* END_TRY *
5、异常保护。无论是否出现异常,均执行的保护性质代码,如资源释放:
* TRY *
* 正常代码 *
* FINALLY *
* 保护性质代码 *
* END_TRY *
6、套异常可嵌套使用,但不能混用,如:
* TRY *
* 代码块1 *
* TRY *
* 代码块2 *
* FINALL ......

>>返回讨论的主题


  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:16毫秒 最大:357232毫秒 查询6次