In this tutorial, you shall learn how to define a custom exception in PHP, with the help of example programs.
PHP User defined Custom Exception
In PHP, we can create user defined exception (a class) by extending it with the built-in Exception class.
Syntax
The syntax to create a simple user defined exception MyException
is given below.
class MyException extends Exception { }
If required, we can define constructor and custom functions for this class.
Examples 2
1 A simple program that defines a custom Exception
In the following program, we define a custom exception, MyException
and throw this exception from try-block. We shall catch this exception in catch-block and print the exception message to output using echo statement.
PHP Program
<?php class MyException extends Exception { } try { //some code throw new MyException("This is a message from MyException."); } catch (MyException $e) { //handle exception echo $e->getMessage(); } ?>
Output
References
2 Custom exception with constructor and custom function
In the following program, we define a custom exception, MyException
and define a constructor __construct()
and a custom function myFunction()
for this class.
Note: Please note to make an exclusive call to the constructor of the superclass Exception.
PHP Program
<?php class MyException extends Exception { public function __construct($message, $code = 0, Throwable $previous = null) { // some code // call the constructor of Exception parent::__construct($message, $code, $previous); } public function myFunction() { echo "A custom function in MyException."; } } try { //some code throw new MyException("This is a message from MyException."); } catch (MyException $e) { //handle exception echo $e->getMessage(); echo "<br>"; echo $e->myFunction(); } ?>
Output
References
Conclusion
In this PHP Tutorial, we learned how to create a custom exception class and throw this custom exception object in a try-catch statement.