00001 <?php
00006 include_once("core/system/JBaseObject.class.php");
00007
00012 class JErrorHandler extends JBaseObject
00013 {
00014 var $errorstack;
00015
00019 function JErrorHandler()
00020 {
00021 $this->errorstack = array();
00022 }
00023
00028 function &GetInstance()
00029 {
00030 static $ob;
00031
00032 if (!isset ($ob))
00033 {
00034 $ob = new JErrorHandler();
00035 }
00036
00037 return $ob;
00038 }
00039
00045 function IsError($error)
00046 {
00047 if (get_class($error) == "jerror" || is_subclass_of($error, "jerror"))
00048 $result = true;
00049 else
00050 {
00051 if (is_subclass_of($error, "jbaseobject"))
00052 $result = $error->GetBaseErrorConstructor();
00053 }
00054
00055 return $result;
00056 }
00057
00063 function PushError($error)
00064 {
00065 $this->errorstack[0] = $error;
00066
00067 return $error;
00068 }
00069
00074 function HasErrors()
00075 {
00076 return (count($this->errorstack) > 0);
00077 }
00078
00083 function PopError()
00084 {
00085 return array_pop($this->errorstack);
00086 }
00087 }
00088 ?>