示例#1
0
 function process_exception($object)
 {
     $this->error = $object;
     $this->message = $object->getMessage();
     $this->details = $object->getDetails();
     $this->code = $object->getCode();
     $this->trace = $object->getTrace();
     if ($this->code != 0) {
         header(StatusCode::http_header_for($this->code));
     }
     $paths = array('_errors', 'framework/_errors');
     foreach ($paths as $path) {
         if (is_file(APP_ROOT . '/' . $path . '/' . $this->code . '.' . Framework::$views_extension)) {
             $view_file = APP_ROOT . '/' . $path . '/' . $this->code . '.' . Framework::$views_extension;
             break;
         } elseif (is_file(APP_ROOT . '/' . $path . '/default.' . Framework::$views_extension)) {
             $view_file = APP_ROOT . '/' . $path . '/default.' . Framework::$views_extension;
             break;
         }
     }
     if (StatusCode::can_has_body($this->code)) {
         $this->render_file($view_file);
     }
 }