| <?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 | |
| { | |
| 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($message, $code); | |
| } | |
| public function __toString() | |
| { | |
| return get_class($this) . " '{$this->message}' in {$this->file}({$this->line})\n" | |
| . "{$this->getTraceAsString()}"; | |
| } | |
| } | |
| /* | |
| * Exception occurs when we have no active socket | |
| * connection to whatsapp | |
| */ | |
| class ConnectionException extends Exception{} | |
| class LoginFailureException extends Exception{} |