/** * Register exception * @param mixed $a_arg0 * @param mixed $a_arg1 * @param mixed $a_arg2 * @return ZModule */ public function &triggerError($a_arg0, $a_arg1 = null, $a_arg2 = null) { switch (func_num_args()) { case 1: switch (gettype($a_arg0)) { case 'object': if ($a_arg0 instanceof Exception) { Zoombi::getApplication()->emit(new ZEvent($this, '_triggerError', $a_arg0)); } break; case 'string': $tr = debug_backtrace(); array_shift($tr); $e = new ZException($a_arg0, E_USER_ERROR); $e->setTrace($tr); $this->emit(new ZEvent($this, '_triggerError', $e)); break; } break; case 2: $e = new ZException($a_arg0, $a_arg1); $e->setTrace($a_arg2); $this->emit(new ZEvent($this, '_triggerError', $e)); break; } return $this; }
/** * Register exception * @param mixed $a_arg0 * @param mixed $a_arg1 * @param mixed $a_arg2 * @return ZModule */ public function &triggerError($a_arg0, $a_arg1 = null, $a_arg2 = null) { switch (func_num_args()) { case 1: switch (gettype($a_arg0)) { case 'object': if ($a_arg0 instanceof Exception) { Zoombi::getApplication()->emit(new ZEvent($this, '_triggerError', $a_arg0)); } break; case 'string': $tr = debug_backtrace(); $e = new ZException($a_arg0, E_USER_ERROR); $e->setLine($tr[0]['line']); $e->setFile($tr[0]['file']); Zoombi::getApplication()->emit(new ZEvent($this, '_triggerError', $e)); break; } break; case 2: $tr = debug_backtrace(); $e = new ZException($a_arg0, $a_arg1); $e->setLine($tr[0]['line']); $e->setFile($tr[0]['file']); Zoombi::getApplication()->emit(new ZEvent($this, '_triggerError', $e)); break; case 3: $e = new ZException($a_arg0, $a_arg1); if ($a_arg2 and is_array($a_arg2) and count($a_arg2) > 0) { $a =& $a_arg2[0]; if (is_array($a)) { if (array_key_exists('line', $a)) { $e->setLine($a['line']); } if (array_key_exists('file', $a)) { $e->setFile($a['file']); } $e->setTrace($a_arg2); } } Zoombi::getApplication()->emit(new ZEvent($this, '_triggerError', $e)); } return $this; }