diff options
Diffstat (limited to 'program/include')
-rw-r--r-- | program/include/rcube.php | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/program/include/rcube.php b/program/include/rcube.php index 694f28820..e9add8d5a 100644 --- a/program/include/rcube.php +++ b/program/include/rcube.php @@ -1050,6 +1050,18 @@ class rcube */ public static function raise_error($arg = array(), $log = false, $terminate = false) { + // handle PHP exceptions + if (is_object($arg) && is_a($arg, 'Exception')) { + $err = array( + 'type' => 'php', + 'code' => $arg->getCode(), + 'line' => $arg->getLine(), + 'file' => $arg->getFile(), + 'message' => $arg->getMessage(), + ); + $arg = $err; + } + // installer if (class_exists('rcube_install', false)) { $rci = rcube_install::get_instance(); |