反序列化中的文件损坏,如何防止崩溃
File corruption in de-serialization, how to prevent a crash?
我正在使用提升图库来处理图。我使用 boost::serialization 将我的图形写入文件。
出于测试目的,我修改了文件的完整性。现在我的程序一直在崩溃。我想知道有没有办法防止崩溃(boost::序列化不会引发异常)。
更一般地说,对于任何类型的文件,在解析中没有抛出异常,一切都应该是正确的,有没有办法?
也许唯一的解决方案是编写带有异常处理的自定义序列化/反序列化函数?
谢谢!
编辑:当所有数据损坏或文件丢失时,有一个提升::存档::archive_exception。但是,如果仅更改了文件的某些部分,它就会崩溃...
编辑2:我应该抓住input_stream_error例外,但我没有。
在其他情况下也会抛出boost::archive_exception
,而不是整个数据损坏或文件丢失。有关详细信息,请参阅存档例外。
相关文章:
- 当回溯以零开始时,如何调试崩溃
- 防止主数据类型C++的隐式转换
- 如何防止 c++ 在从浮点型转换为双精度型(不适用于 IO)时添加额外的小数?
- 内联映射初始化的动态atexit析构函数崩溃
- 执行函数时导致崩溃的变量
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 防止在C++中选择错误文件时提升 xml 解析器崩溃
- 防止客户端套接字程序崩溃CPP Google Protobuf
- 防止本机C++DLL崩溃C#应用
- 如何防止此 2D 动态数组程序崩溃
- 如何防止进程在 CRT 错误C++时崩溃
- 如何防止calloc故障使我的程序崩溃
- 如何在将NULL传递给std::wstring时防止运行时崩溃
- c++增强序列化如何防止不正确的文件崩溃
- 防止c++异常导致Perl脚本崩溃
- 通过不返回引用来防止下标操作符的赋值会导致运行时崩溃
- Linux:系统保护,防止c++和FORTRAN程序经常崩溃
- 如何防止插件崩溃影响主程序(dlopen)
- 防止一个MEX文件在MATLAB中崩溃
- 反序列化中的文件损坏,如何防止崩溃