RaymondHuang
RaymondHuang
发布于 2022-12-18 / 380 阅读
0
0

处理异常

有时候我们需要手动处理一些能预料到的错误,来保证程序不会崩溃:

void main() {
    try {
        string s = "bye";
        cout << s.at(4);
        //cout << s[4];
    }
    catch (out_of_range& e) {
        cerr << e.what() << endl; // cerr就是输出错误信息,e是错误的对象,what就是错误的内容
    }

    cout << "error!" << endl; // 这一句话可以输出,因为错误被我们手动处理了,程序不会崩溃
}

很明显,上述字符串s只有3个元素,访问4号元素(第五个元素)明显是越界了,因此,使用try-catch块就可以把“out_of_range”数组越界错误抓起来,然后手动处理这个错误。


评论