I am wanting to handle exceptions in my PHP application myself.
When I throw an exception I am wanting to pass along a title to be used in the error page.
Can someone please link me to a good tutorial, or write a clear explanation of how the exception handling actually works (eg how to know what sort of exception you are dealing with, etc.
Official docs is a good place to start - http://php.net/manual/en/language.exceptions.php.
If it is just a message that you want to capture you would do it at follows;
try{
    throw new Exception("This is your error message");
}catch(Exception $e){
    print $e->getMessage();
}
If you want to capture specific errors you would use:
try{
    throw new SQLException("SQL error message");
}catch(SQLException $e){
    print "SQL Error: ".$e->getMessage();
}catch(Exception $e){
    print "Error: ".$e->getMessage();
}
For the record - you'd need to define SQLException. This can be done as simply as:
class SQLException extends Exception{
}
For a title and message you would extend the Exception class:
class CustomException extends Exception{
    protected $title;
    public function __construct($title, $message, $code = 0, Exception $previous = null) {
        $this->title = $title;
        parent::__construct($message, $code, $previous);
    }
    public function getTitle(){
        return $this->title;
    }
}
You could invoke this using :
try{
    throw new CustomException("My Title", "My error message");
}catch(CustomException $e){
    print $e->getTitle()."<br />".$e->getMessage();
}
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With