温馨提示×

c++中的error码和错误信息如何关联

c++
小樊
86
2024-08-16 10:38:44
栏目: 编程语言

在C++中,通常使用返回值来表示函数执行过程中的错误。常见的做法是使用整型值来表示错误码,然后根据不同的错误码来返回相应的错误信息。例如,可以定义一个枚举类型来表示不同的错误码,然后编写一个函数来根据错误码返回相应的错误信息。

#include <iostream>

enum ErrorCode {
    SUCCESS = 0,
    INVALID_INPUT = 1,
    FILE_NOT_FOUND = 2,
    PERMISSION_DENIED = 3
};

std::string getErrorMessage(ErrorCode code) {
    switch (code) {
        case SUCCESS:
            return "Success";
        case INVALID_INPUT:
            return "Invalid input";
        case FILE_NOT_FOUND:
            return "File not found";
        case PERMISSION_DENIED:
            return "Permission denied";
        default:
            return "Unknown error";
    }
}

int readFile(std::string filename) {
    // 读取文件逻辑
    if (/* 文件不存在 */) {
        return FILE_NOT_FOUND;
    } else if (/* 无权限 */) {
        return PERMISSION_DENIED;
    } else {
        return SUCCESS;
    }
}

int main() {
    std::string filename = "test.txt";
    int result = readFile(filename);
    if (result != SUCCESS) {
        std::cout << "Error: " << getErrorMessage(result) << std::endl;
    } else {
        std::cout << "File read successfully" << std::endl;
    }

    return 0;
}

在上面的例子中,我们定义了一个枚举类型ErrorCode来表示不同的错误码,然后编写了一个getErrorMessage函数来根据错误码返回错误信息。在readFile函数中,根据不同的情况返回不同的错误码,然后在main函数中根据返回的错误码打印相应的错误信息。这样就实现了错误码和错误信息的关联。

0