c++ - 如何捕获 C 和 C++ 中的运行时错误?

标签 c++ c runtime-error

就像修改一个CONST int

我可以注册一个特定的函数来处理运行时错误,这样这种操作只会失败而不是终止应用程序吗?

最佳答案

如果您指的是 C++,则有一个名为 runtime_error 的特定异常类。您可以使用 catch 子句捕获它:

catch(std::runtime_error& e) {}

但是,C 和 C++ 中的许多事情(例如修改 const int)会导致 undefined behavior .您无法在运行时捕获它们。您无法捕获它们,因为不会抛出任何异常(从技术上讲,任何事情都可能发生,包括抛出异常(仅限 C++),但这不是您可以或应该希望的事情)。

解决方案是编写干净安全的代码。为此,许多书籍中列出了许多建议。 :)

关于c++ - 如何捕获 C 和 C++ 中的运行时错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6521976/

相关文章:

c++ - 使用模板元编程 C++ 比较 2 个值

c++ - mysql 连接器/C++ 手册

c++ - 为什么我的重载转换运算符无法访问私有(private)成员?

java - 调用使用 libhdfs 的程序时出现 loadFileSystems 错误

java - 托管小部件获取 java.lang.SecurityException : Permission Denial error

java - 为我的类(class)获取一个奇怪的 java.lang.NoSuchMethodError

c# - 没有为命令对象设置命令文本

c++ - 将 map<key, value> 重建为 map<value, key> 的最短/最简单方法

c - 这两件事有什么区别

检查输入的号码并询问,直到他输入号码