错误处理

在我们编程的时候,一定要注意对参数、返回值、变量等进行检查和错误处理。否则你将会对其付出血的代价,比如我的误删事件。

参数:对参数进行有效性验证,这一点很重要,一个错误的参数可能会导致问题的出现,一定要验证参数是否为正确参数范围内。但这一点我们经常会遗忘,或者不确定参数的有效范围是什么

返回值:对返回值验证函数是否执行成功,程序是否可继续执行,最重要是我们拿的到返回值是否是有效的返回值,我们经常拿一个错误的返回值,进行相关操作,比如返回的句柄是否为一个有效句柄。如果我们不验证的话,一个无效的句柄可能会导致程序的奔溃。验证返回值的有效性同样是我们经常遗忘的事情。如果你确定他会成功。请使用assert()

程序中许多API都是只返回是否成功,都没有说明为什么失败,可以调用GetLastError(),函数将返回32位错误码。我们可以通过,VS自带的Error Lookup来查看错误码的解释,或者到WinError.h中去自行查看。在调试时,我喜欢监视@err,hr它也返回错误代码,这样能够在调试时发现哪条语句出现问题

有一点需要注意,GetLastError()@err,hr都是对上一条语句的错误代码,再执行下一条语句的时候,错误代码可能会发生改变,所以要针对语句,及时查看

利用FormatMessage()函数可以将错误码变为错误信息,返回给用户。

 

 

变量的验证很重要,历史总是惊人的相似。

 

 

 

 

——以上总结于《Windows核心编程 第五版》第一章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值