c++ - 尝试 catch 不起作用,在 game1.exe 中的 0x00476F1E 处引发异常:0xC0000005:访问冲突读取位置 0x00000004
问题描述
代码:
try {
SDL_SetColorKey(surfaces[folderCnt][surfacesCnt], SDL_TRUE, SDL_MapRGB(surfaces[folderCnt][surfacesCnt]->format, 255, 0, 255));
}
catch (int err) {
}
错误:在 game1.exe 中的 0x00476F1E 处引发异常:0xC0000005:访问冲突读取位置 0x00000004。
当surfacesCnt = 10 时,它会抛出错误。那是因为没有表面 10。我知道这一点,我想捕获异常并处理下一个表面 (surfacesCnt = 11)。
为什么 try catch 语句没有捕捉到错误?这将在 Python 和 Pascal 中完美运行。
解决方案
推荐阅读
- python - 在python中从带有硒的列表中选择一个标签
- python - 格式化字符串中的自定义参数
- jenkins - 如何在詹金斯的多配置项目中为组合添加单独的参数
- javascript - 函数返回null,等待结果未应用
- javascript - Reactjs 中的网络状态检测
- ssh - Google-Compute-Engine 虚拟机实例:添加磁盘后无法登录/SSH 虚拟机实例
- face-recognition - Private Identity 生成的加密 FHE 有效载荷与基于云的生物识别系统生成的模板有何不同?
- react-native - React Native FAILURE:构建失败并出现异常
- react-native - RNCNetinfo.getCurrentState 有 3 个参数,预期为 2
- git - 基于主干开发的代码审查