gpt4 book ai didi

c++ - 反序列化中的文件损坏,如何防止崩溃?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:19:51 24 4
gpt4 key购买 nike

我正在使用 boost 图形库来处理图形。我使用 boost::serialization 将我的图形写入文件。

出于测试目的,我修改了文件的完整性。现在我的程序总是崩溃。我想知道有什么方法可以防止崩溃(boost::serialization 不会抛出异常)。

更一般地说,对于任何类型的文件,在解析时都不会抛出异常,所有的文件都应该是正确的,是否也有办法?

也许唯一的解决方案是编写带有异常处理的自定义序列化/反序列化函数?

谢谢!

编辑:当所有数据损坏或文件丢失时,会出现 boost::archive::archive_exception。但是如果只更改文件的某些部分,它会崩溃......

Edit2:我应该捕获 input_stream_error 异常,但我没有。

最佳答案

boost::archive_exception 也会在整个数据损坏或文件丢失以外的其他情况下抛出。参见 Archive Exceptions了解详情。

关于c++ - 反序列化中的文件损坏,如何防止崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5948338/

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