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 ......
>>返回讨论的主题
|
老古网执行:16毫秒 最大:357232毫秒 查询6次
|
|