From 1c119217011483cab34fa8296888d068d3d21318 Mon Sep 17 00:00:00 2001 From: 66hh <49398720+66hh@users.noreply.github.com> Date: Sun, 28 Dec 2025 23:45:52 +0800 Subject: [PATCH] Add error handling to prevent the engine from throwing errors --- src/windows-emulator/memory_manager.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/windows-emulator/memory_manager.cpp b/src/windows-emulator/memory_manager.cpp index 76422e02..125a40b9 100644 --- a/src/windows-emulator/memory_manager.cpp +++ b/src/windows-emulator/memory_manager.cpp @@ -641,7 +641,14 @@ void memory_manager::read_memory(const uint64_t address, void* data, const size_ bool memory_manager::try_read_memory(const uint64_t address, void* data, const size_t size) const { - return this->memory_->try_read_memory(address, data, size); + try + { + return this->memory_->try_read_memory(address, data, size); + } + catch (...) + { + return false; + } } void memory_manager::write_memory(const uint64_t address, const void* data, const size_t size) @@ -651,7 +658,14 @@ void memory_manager::write_memory(const uint64_t address, const void* data, cons bool memory_manager::try_write_memory(const uint64_t address, const void* data, const size_t size) { - return this->memory_->try_write_memory(address, data, size); + try + { + return this->memory_->try_write_memory(address, data, size); + } + catch (...) + { + return false; + } } void memory_manager::map_mmio(const uint64_t address, const size_t size, mmio_read_callback read_cb, mmio_write_callback write_cb)