在 PHP 中,可以通过继承 Exception 类来自定义异常。自定义异常类应该包含一个构造函数,它可以接受一些参数来设置异常的消息和代码。通常,自定义异常类应该继承 Exception 类的一种子类,以便可以使用父类的方法和属性。
以下是一个自定义异常类的示例:
class CustomException extends Exception {
public function __construct($message, $code = 0, Exception $previous = null) {
parent::__construct($message, $code, $previous);
}
public function __toString() {
return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
}
public function customFunction() {
echo "Custom function called\n";
}
}
使用自定义异常类时,可以像使用内置异常类一样抛出和捕获异常。例如:
try {
throw new CustomException("This is a custom exception");
} catch (CustomException $e) {
echo $e;
$e->customFunction();
}
输出:
CustomException: [0]: This is a custom exception
Custom function called
在捕获自定义异常时,可以调用自定义异常类中的其他方法。