
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Extending Exceptions in PHP
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=125andnum=90 to get error message and message of valid number
error : 125 is invalid number in line no 10