学习vc++的第五天--错误查找和处理

心不动则不痛 提交于 2020-03-21 01:09:20

今天学了几个复制,移动..处理文件的函数,然后主要的目的是学会错误处理,了解winApi的错误返回值,还有就是vs的"错误查找"功能.

 

课程上面 https://www.bilibili.com/video/av79302998?p=59 中用了vs这样的错误检查的方式,有点意思..

在课程的 https://www.bilibili.com/video/av79302998?p=60 有说明一下,但是两个视频的处理一个是代码上的,一个是vs上的.

 

工具-错误查找,输入错误值.

注意这个工具若没有的话,要在控制面板上面选择vs,然后安装c++的相关内容,不然只安装net是没有的....

还有就是工具--导入和导出设置--重置所有设置--Visual C++,选择C++工程的环境!!

 

 

首先要知道winapi的错误是存 GetLastError() 的,然后视频上面调用了 @err 在监视里,搜了一下相关的信息,可以配合 $err,hr 来进行监控.

具体说明: https://blog.csdn.net/qq_16334327/article/details/81838300

 

这样就成功可以像视频教程一样监控错误的信息了....

 

乱七八糟的学习代码:

#if false //删除文件 
    bRet = DeleteFile(path);
    if (bRet)
    {
        MessageBox(NULL, _T("删除成功! "), _T("Tip"), MB_OK);
    }
    else
    {
        DWORD dwError = GetLastError(); //放在错误语句的后面..
        MessageBox(NULL, _T("删除失败! "), _T("Iip"), MB_OK);
    }
#endif // false


#if false //拷贝文件
    // 因为C盘权限问题所以拷贝是失败的,以此引发一个错误
    // bRet = CopyFile(path, _T("C:\\abc.png"), FALSE);
    bRet = CopyFile(path, _T("D:\\桌面\\abc.png"), FALSE);
    if (bRet)
    {
        MessageBox(NULL, _T("拷贝成功!"), _T("Tip"), MB_OK);
    }
    else
    {
        DWORD dwError = GetLastError(); //放在错误语句的后面..
        MessageBox(NULL, _T("拷贝失败!"), _T("Tip"), MB_OK);
    }
#endif // false 


#if false //移动文件
    //bRet = MoveFile(path, _T("D:\\桌面\\abc.png"));
    bRet = MoveFile(_T("D:\\桌面\\abc.png"), _T("D:\\桌面\\abc.png"));
    if (bRet)
    {
        MessageBox(NULL, _T("移动成功!"), _T("Tip"), MB_OK);
    }
    else
    {
        DWORD dwError = GetLastError(); //放在错误语句的后面..错误处理例子!!
        if (dwError == ERROR_FILE_NOT_FOUND)
        {
            MessageBox(NULL, _T("文件不存在!"), _T("Tip"), MB_OK);
        }
        else
        {
            MessageBox(NULL, _T("移动失败!"), _T("Tip"), MB_OK);
        }  
    }
#endif // false
View Code

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!