12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- interface IException
- {
- /* Protected methods inherited from Exception class */
- public function getMessage(); // Exception message
- public function getCode(); // User-defined Exception code
- public function getFile(); // Source filename
- public function getLine(); // Source line
- public function getTrace(); // An array of the backtrace()
- public function getTraceAsString(); // Formated string of trace
- /* Overrideable methods inherited from Exception class */
- public function __toString(); // formated string for display
- public function __construct($message = null, $code = 0);
- }
- abstract class CustomException extends Exception implements IException
- {
- private $trace; // Unknown
- private $string; // Unknown
- protected $message = 'Unknown exception'; // Exception message
- protected $code = 0; // User-defined exception code
- protected $file; // Source filename of exception
- protected $line; // Source line of exception
- public function __construct($message = null, $code = 0)
- {
- if (!$message) {
- throw new $this('Unknown '. get_class($this));
- }
- parent::__construct("Err: ".$message."\n", $code);
- }
- public function __toString() {
- $err=$this->message;
- if($this->code!=0)
- $err= get_class($this).
- " '{$this->message}' in {$this->file}({$this->line})\n".
- "{$this->getTraceAsString()}";
-
- return $err;
- }
- }
- class DbErrException extends CustomException{};
- class DbResException extends DbErrException{};
- class UsageException extends CustomException{
- public function __construct($message = null, $code = 0)
- {
- if (!$message and $code == 0) {
- throw new $this('Unknown '. get_class($this));
- } elseif ($message != null and $code > 0) {
- $argv="Err: ".$message."\n";
- $message="Bad arg: ".$argv." is not a valid command, with ".$code." arguments\n";
- $code=0;
- }
- parent::__construct($message, $code);
- }
- public function __toString() {
- return $this->message;
- }
- }
- class OtConfException extends CustomException{};
- class FileException extends CustomException{
- public function __toString() {
- return $this->message;
- }
- };
- ?>
|