gpt4 book ai didi

c++ - 捕获运行时异常

转载 作者:太空宇宙 更新时间:2023-11-03 10:21:27 25 4
gpt4 key购买 nike

以下未能捕捉到异常

int *i;  //intentionally uninitialized

try {
*i = 6;
}
catch (const runtime_error e) {
cout << "caught!" << endl;
}

它实际上是在捕获运行时错误还是异常?

最佳答案

*i = 6; 不会抛出 runtime_error;它会导致未定义的行为。

未初始化的指针将被取消引用,您的程序将尝试将值 6 写入它指向的任何地方(如果它指向任何地方)。这会导致未定义的行为。在大多数情况下,这意味着您的程序要么立即崩溃,要么稍后崩溃,因为您损坏了内存中的重要内容。

在标准 C++ 中没有办法将这种错误作为异常“捕获”;你需要编写你的代码,这样你就不会做这样的事情。

关于c++ - 捕获运行时异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3544795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com