MDL-33565 setuplib: better error if you pass an object as $debuginfo
authorTim Hunt <T.J.Hunt@open.ac.uk>
Wed, 6 Jun 2012 18:57:47 +0000 (19:57 +0100)
committerTim Hunt <T.J.Hunt@open.ac.uk>
Wed, 6 Jun 2012 19:33:16 +0000 (20:33 +0100)
This changes makes sure the error is triggerd when the exception is
thrown, so that the problem code is in the stack-trace. Before, the
error happend in the exception hander, so you could not see the code
that caused the problem.

lib/setuplib.php

index 2c471f6..4fec92d 100644 (file)
@@ -133,7 +133,7 @@ class moodle_exception extends Exception {
         $this->module    = $module;
         $this->link      = $link;
         $this->a         = $a;
-        $this->debuginfo = $debuginfo;
+        $this->debuginfo = is_null($debuginfo) ? null : (string)$debuginfo;
 
         if (get_string_manager()->string_exists($errorcode, $module)) {
             $message = get_string($errorcode, $module, $a);
@@ -486,7 +486,7 @@ function get_exception_info($ex) {
         $module = 'error';
         $a = $ex->getMessage();
         $link = '';
-        $debuginfo = null;
+        $debuginfo = '';
     }
 
     // Append the error code to the debug info to make grepping and googling easier