From f6fa7493f6a6d843ecfaab3a8c628c8d34e173ec Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Sun, 26 Aug 2018 23:46:13 +0900 Subject: [PATCH] Catch Rhymix\Framework\Exception in module act and triggers --- classes/module/ModuleHandler.class.php | 13 ++++++++++--- classes/module/ModuleObject.class.php | 10 +++++++++- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index 9f59bd6ca..32eb6acf4 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -1267,9 +1267,16 @@ class ModuleHandler extends Handler continue; } - $before_each_trigger_time = microtime(true); - $output = $oModule->{$called_method}($obj); - $after_each_trigger_time = microtime(true); + try + { + $before_each_trigger_time = microtime(true); + $output = $oModule->{$called_method}($obj); + $after_each_trigger_time = microtime(true); + } + catch (Rhymix\Framework\Exception $e) + { + $output = new BaseObject(-2, $e->getMessage()); + } if ($trigger_name !== 'common.flushDebugInfo') { diff --git a/classes/module/ModuleObject.class.php b/classes/module/ModuleObject.class.php index e1643bbfe..05fbeeb86 100644 --- a/classes/module/ModuleObject.class.php +++ b/classes/module/ModuleObject.class.php @@ -569,8 +569,16 @@ class ModuleObject extends BaseObject $oModuleModel->syncSkinInfoToModuleInfo($this->module_info); Context::set('module_info', $this->module_info); + // Run - $output = $this->{$this->act}(); + try + { + $output = $this->{$this->act}(); + } + catch (Rhymix\Framework\Exception $e) + { + $output = new BaseObject(-2, $e->getMessage()); + } } else {