在 PHP 中,我们可以自定义异常类来处理特定的错误情况。自定义异常类可以继承自内置的异常类 \Exception

下面是一个简单的示例,演示如何自定义一个异常类:

class CustomException extends Exception {
    public function errorMessage() {
        // 错误消息
        $errorMsg = 'Error on line ' . $this->getLine() . ' in ' . $this->getFile() . ': <b>' . $this->getMessage() . '</b> is not a valid email address';
        return $errorMsg;
    }
}

$email = "john.doe@example";

try {
    if(filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
        // 如果邮件地址无效,抛出自定义异常
        throw new CustomException($email);
    }
} catch (CustomException $e) {
    echo $e->errorMessage();
}

在上面的示例中,我们定义了一个名为 CustomException 的自定义异常类,继承自内置的异常类 \Exception。该类中包含了一个自定义的方法 errorMessage(),用于返回自定义的错误消息。

然后我们在 try 块中检查给定的邮件地址是否有效,如果邮件地址无效,就抛出自定义异常类 CustomException。在 catch 块中,我们捕获自定义异常类,并打印出自定义的错误消息。

通过自定义异常类,我们可以更好地组织和管理异常情况,提高代码的可读性和可维护性。