From 6d80f2bc799d983eefce39981cb987024201d09d Mon Sep 17 00:00:00 2001 From: Ted John Date: Sun, 26 Jun 2016 21:55:14 +0100 Subject: [PATCH] handle object load exceptions --- src/object/ObjectFactory.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/object/ObjectFactory.cpp b/src/object/ObjectFactory.cpp index 6af113b9ba..ed3e1073ca 100644 --- a/src/object/ObjectFactory.cpp +++ b/src/object/ObjectFactory.cpp @@ -14,6 +14,7 @@ *****************************************************************************/ #pragma endregion +#include "../core/Console.hpp" #include "../core/FileStream.hpp" #include "../core/Memory.hpp" #include "../core/MemoryStream.h" @@ -57,7 +58,17 @@ namespace ObjectFactory bufferSize = sawyercoding_read_chunk_with_size(file, (uint8 *)buffer, bufferSize); buffer = Memory::Reallocate(buffer, bufferSize); auto ms = MemoryStream(buffer, bufferSize); - result->ReadLegacy(&ms); + try + { + result->ReadLegacy(&ms); + } + catch (Exception ex) + { + Console::Error::WriteFormat("Error reading object: '%s'", path); + Console::Error::WriteLine(); + delete result; + result = nullptr; + } } } SDL_RWclose(file);