Introduction
Exception class implements Throwable interface and is base class for all Exception classes, predefined exceptions as well as user defined exceptions. The Exception class defines some final (non-overridable) methods to implement those from Throwable interface, and __tostring() method that can be overridden to return a string representation of Exception object.
final public function getMessage() | message of exception |
final public function getCode() | code of exception |
final public function getFile() | source filename |
final public function getLine() | source line |
final public function getTrace() | an array of the backtrace() |
final public function getPrevious() | previous exception |
final public function getTraceAsString() | formatted string of trace |
public function __toString() | formatted string for display |
If user defined exception class re-defines the constructor, it should call parent::__construct() to ensure all available data has been properly assigned.
Example
Following script defines a custom exception class called myException. This type of exception is thrown if value of $num is less than 0 or greater than 100. The getMessage() method of Exception class returns the error message and getLine() method returns line of code in which exception appears
Example
<?php class myException extends Exception{ function message(){ return "error : " . $this->getMessage() . " in line no " . $this->getLine(); } } $num=125; try{ if ($num>100 || $num<0) throw new myException("$num is invalid number"); else echo "$num is a valid number"; } catch (myException $m){ echo $m->message(); } ?>
Output
Run above code with $num=125 and $num=90 to get error message and message of valid number
error : 125 is invalid number in line no 10