在 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
在捕獲自定義異常時,可以調用自定義異常類中的其他方法。