c++ - 获取Qt、C++中的最后一个错误号

标签 c++ qt debugging

我正在测试一个应该创建并写入文件的函数,该文件的名称作为函数的参数给出。该函数在失败时返回 false。有没有办法在 Windows 上获取像 GetLastError() 这样的错误号?

最佳答案

如果您有兴趣获取文件操作的“最后”错误,您可以执行以下操作:

bool makeSomethingWithFile(const QString &fileName, QString *error)
{
    QFile file(fileName);
    // Perform something with the file
    // ...

    // On error
    if (file.error() != QFile::NoError) {
        *error = file.errorString();
        return false;
    }
    return true;
}

调用此函数时,只需提供错误字符串:

QString error;
if (!makeSomethingWithFile("myfile", &error)) {
    qDebug() << "The error occurred:" << error;
}

好吧,如果您需要错误作为数字,请使用 FileError 枚举而不是字符串。

关于c++ - 获取Qt、C++中的最后一个错误号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24302610/

相关文章:

c++ - 将剪切、复制、粘贴快捷方式更改为 Qt 5 中的自定义插槽

java - 主页按钮 Android 3.0、4.0

c++ - 适合初学者的良好调试器教程

Qt QList<QString> 数据库序列化

c++ - ppt/pptx 转换为 html 或其他格式

c++ - 无需去交织即可在单个音频 channel 上运行

c++ - 模块会成为 C++20 的一部分吗?它会减少库的编译时间吗?

c++ - 将应用程序构建为产品集合的一部分时出现错误 "/usr/bin/ld: cannot find library: File format not recognized"

c# - 调试时是否可以将 "see"放入 C# foreach 循环的迭代集合中?

java - 处理多种类型的错误