file.open异常处理

Posted lumao1122-milolu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了file.open异常处理相关的知识,希望对你有一定的参考价值。

当打开一个不存在的文件名,那会导致读文件出现错误,导致程序崩溃。

为了避免类似问题,我们需要进行判断:

//open file
CFile file;
file.Open("ReadMe.txt", CFile::modeRead,NULL);//open the file

文件打开返回是文件句柄,所以我们不能判断file对象是否存在而是判断句柄是否存在;

    if ((int)file.m_hFile > 0)
    {
        while (file.Read(szbuf, 200))
        {
            n = 0;
            while (szbuf[n])
            {
                InforBuf[index++] = szbuf[n++];
            }
            memset(szbuf, 0, 201);
        }
        file.Close();
        InforBuf[index] = 0;
        CString str = InforBuf;
        pt->str = str;
    }
    else
    {
        pt->str = _T("Can‘t open ReadMe.txt file.");
    }

 file.m_hFile  返回值为0xFFFFFFFF,为异常。

技术图片
//open file
    CFile file;
    file.Open("ReadMe.txt", CFile::modeRead,NULL);//open the file
    if ((int)file.m_hFile > 0)
    {
        while (file.Read(szbuf, 200))
        {
            n = 0;
            while (szbuf[n])
            {
                InforBuf[index++] = szbuf[n++];
            }
            memset(szbuf, 0, 201);
        }
        file.Close();
        InforBuf[index] = 0;
        CString str = InforBuf;
        pt->str = str;
    }
    else
    {
        pt->str = _T("Can‘t open ReadMe.txt file.");
    }
    ::PostMessage(pt->hwnd, WM_RESPONSE, NULL, (LPARAM)pt);
    Sleep(100);
    return 0;
View Code

谢谢.

End.

以上是关于file.open异常处理的主要内容,如果未能解决你的问题,请参考以下文章

Python.异常处理

python中的异常处理

ch3:文件处理与异常

python with语句有啥用

python with as 的用法

异常和TCP通讯