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.