如果给定的用户输入无效,我写了一些遇到异常的代码,所以我把它放在try / catch块中,但它仍然引发异常.代码本身很长,所以这里是代码的简化版本,也遇到了异常.异常本身很清楚,位置“3”不存在,所以它会抛出一个异常,但它在try / catch块内,所以它应该被捕获,但事实并非如此.
int main() { try { vector<string> test = vector<string>{ "a","b","c" }; string value = test[3]; } catch (...) { } }
运行此代码只会导致以下异常,无论它是否在try / catch块中.@H_502_5@
我也试过指定异常(const out_of_range& e),但这也没有帮助.它只是引起了完全相同的异常.@H_502_5@
int main() { try { vector<string> test = vector<string>{ "a","c" }; string value = test[3]; } catch (const out_of_range&e) { } }