Rosetta 出现 'N INTERNAL ERROR HAS OCCURED. PLEASE SEE THE CONTENTS OF ROSETTA_CRASH.log FOR DETAILS.' 错误,并且伴随以下信息:

'terminate called after throwing an instance of 'std::out_of_range' what(): map::at'

这个错误是由于在使用 'std::map::at' 函数时发生了 'std::out_of_range' 异常。'std::map::at' 函数用于访问 'std::map' 容器中指定键对应的值,如果指定的键不存在,则会抛出 'std::out_of_range' 异常。

要解决这个问题,你可以检查代码中使用 'std::map::at' 的地方,确保传入的键存在于 'std::map' 中。可以使用 'std::map::count' 函数来检查键是否存在,或者使用 'std::map::find' 函数来获取迭代器,然后判断迭代器是否有效。

另外,你也可以使用 'try-catch' 块来捕获并处理 'std::out_of_range' 异常,以防止程序崩溃。在 'catch' 块中可以进行相应的错误处理,例如输出错误信息或者进行其他操作。

最后,如果你能提供更多关于报错的上下文信息和相关代码,我可以更具体地帮助你解决问题。


原文地址: https://www.cveoy.top/t/topic/fw1Q 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录