From d66e56392e7611cd1c75523e5feda31942f16b43 Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Tue, 30 Jan 2018 00:26:22 +0300 Subject: [PATCH] Handle exceptions at loading patch file --- Utilities/bin_patch.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/Utilities/bin_patch.cpp b/Utilities/bin_patch.cpp index afdfb5e875..f8fe60bdb5 100644 --- a/Utilities/bin_patch.cpp +++ b/Utilities/bin_patch.cpp @@ -32,13 +32,23 @@ void patch_engine::append(const std::string& patch) { if (fs::file f{patch}) { - auto root = YAML::Load(f.to_string()); + YAML::Node root; + + try + { + root = YAML::Load(f.to_string()); + } + catch (const std::exception& e) + { + LOG_FATAL(GENERAL, "Failed to load patch file %s\n%s thrown: %s", patch, typeid(e).name(), e.what()); + return; + } for (auto pair : root) { auto& name = pair.first.Scalar(); auto& data = m_map[name]; - + for (auto patch : pair.second) { u64 type64 = 0; @@ -91,7 +101,7 @@ void patch_engine::append(const std::string& patch) break; } } - + data.emplace_back(info); } }