gpt4 book ai didi

c++ - 在 C++ 中捕获内存访问冲突

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:04:30 32 4
gpt4 key购买 nike

在 C++ 中,是否有标准方法(或任何其他方法)来捕获由内存访问冲突触发的异常?

例如,如果出现问题并且程序试图访问它不应该访问的内容,您将如何得到一条错误消息来显示“内存访问冲突!”而不是仅仅终止进程而不向用户显示有关崩溃的任何信息?

我正在使用 MinGW 为 Windows 编写游戏,如果有帮助的话。

最佳答案

Access violation 是硬件异常,不能被标准的 try...catch 捕获。

由于硬件异常的处理是系统特定的,因此在代码中捕获它的任何解决方案也将是系统特定的。

在 Unix/Linux 上你可以使用 SignalHandler catch SIGSEGV signal .

在 Windows 上你可以捕获这些 structured exception使用 __try/__except statement .

关于c++ - 在 C++ 中捕获内存访问冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16612444/

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