1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
class JpGraphError {
private static $__iImgFlg = true;
private static $__iLogFile = '';
private static $__iTitle = 'JpGraph Error: ';
public static function Raise($aMsg,$aHalt=true){
throw new JpGraphException($aMsg);
}
public static function SetErrLocale($aLoc) {
GLOBAL $__jpg_err_locale ;
$__jpg_err_locale = $aLoc;
}
public static function RaiseL($errnbr,$a1=null,$a2=null,$a3=null,$a4=null,$a5=null) {
throw new JpGraphExceptionL($errnbr,$a1,$a2,$a3,$a4,$a5);
}
public static function SetImageFlag($aFlg=true) {
self::$__iImgFlg = $aFlg;
}
public static function GetImageFlag() {
return self::$__iImgFlg;
}
public static function SetLogFile($aFile) {
self::$__iLogFile = $aFile;
}
public static function GetLogFile() {
return self::$__iLogFile;
}
public static function SetTitle($aTitle) {
self::$__iTitle = $aTitle;
}
public static function GetTitle() {
return self::$__iTitle;
}
}
class JpGraphException extends Exception {
// Redefine the exception so message isn't optional
public function __construct($message, $code = 0) {
// make sure everything is assigned properly
parent::__construct($message, $code);
}
// custom string representation of object
public function _toString() {
return __CLASS__ . ": [{$this->code}]: {$this->message} at " . basename($this->getFile()) . ":" . $this->getLine() . "\n" . $this->getTraceAsString() . "\n";
}
// custom representation of error as an image
public function Stroke() {
if( JpGraphError::GetImageFlag() ) {
$errobj = new JpGraphErrObjectImg();
$errobj->SetTitle(JpGraphError::GetTitle());
}
else {
$errobj = new JpGraphErrObject();
$errobj->SetTitle(JpGraphError::GetTitle());
$errobj->SetStrokeDest(JpGraphError::GetLogFile());
}
$errobj->Raise($this->getMessage());
} |
Partager