我正在使用boost图库来处理图形。 我使用boost :: serialization将我的图形写入文件。
出于测试目的,我修改了文件的完整性。现在我的程序一直在崩溃。 我想知道有没有办法防止崩溃(boost :: serialization不会抛出异常)。
更常见的是,对于任何类型的文件,在解析时都没有抛出异常,其中所有文件都应该是正确的,还有一种方法吗?
也许唯一的解决方案是编写带有异常处理的自定义序列化/反序列化函数?
谢谢!
编辑:当所有数据损坏或文件丢失时,有一个boost :: archive :: archive_exception。但如果只更改了文件的某些部分,它就会崩溃......
Edit2:我应该抓住input_stream_error异常,但我没有。