代码改变世界

第一章 错误处理

2017-07-03 20:52  szn好色仙人  阅读(162)  评论(0编辑  收藏  举报
/*
1.句柄与指针:
  A:typedef void *HANDLE;
  B:句柄实际上是一种指向资源的指针,由操作系统进行管理
*/

/*
2.GetLastError: 
  A:此函数返回上一次调用时候发生的错误,错误代码定义在头文件WinError.h中
  B:当Windows函数检测到错误时候,会使用一种名为"线程本地存储区"的机制将相应的错误代码与主调线程关联到一起,使得这种机制能在不同线程间独立运行
  C:某些情况下,windows函数即使创建成功,此函数也可能会返回一个非0值,比如创建一个内核对象时候,可能此内核对象已经存在,此时得到的内核对象句柄正确,但是此函数会返回ERROR_ALREADY_EXISTS
  D:可以使用SetLastError来定义自己的错误代码,其参数需要遵循一定的格式
*/

/*
3.在vs2010中
  A:显示线程上一个错误代码和错误文本:添加快速监视:$err,hr 即可
  B:在工具->错误查找,也可以将错误代码转换为错误文本
*/