Windows核心编程笔记 第一章错误处理

好的错误处理 程序健壮性的保证。在这章主要介绍windows函数通过返回值不同来表明调用过程中出现了错误,也就是通过return的方法,另外通过及时调用GetLastError来获得错误编号,这两个结合起来基本上实现了java的exception的功能,但是并不完全。举一个循环调用的的例子,如果方法a和方法b都可能出错(一起皆有可能),在a中调用了b,由于没有强制的语言规范要求,a可能会疏忽b的返回值和错误类型,导致整体结果都出错。

但是这个过程会比exception要来得快很多。如果要达到exception的功能就必须做到,时刻检查方法的返回值,在调用方法后如果出错要调用SetLastError来设置错误编号。在调试状态时可以在新加的watch窗口上输入@err,hr用来显示错误编号和调用的句柄

另外文章总结了返回值类型,以及可能的返回值表示Error的情况,特别要注意返回值类型为数字的情况,这种函数可能会根据自身需要来返回一个特定的值表明出错,比如处理正整数的函数如果处理出错就可以返回一个负数来表示结果错了。如果要子定义一个ErrorNo 必须要错开windows自身所占有的段,即DWORD的高两位00以后的数字都可以。

文章介绍了一个很好用的函数来将出错问题显示给用户。那就是FormatMessage,注意dwLanguageID字段,可以通过调用GetTreadLocale来获得当前系统的所使用的语言,用来指定所表示的字符串的格式,用以处理一系列乱码的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值