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.
