Standard PHP Library (SPL) 另有提供一些繼承自 Exception 的例外類別,如下
- LogicException
- BadFunctionCallException
- BadMethodCallException
- DomainException
- InvalidArgumentException
- LengthException
- OutOfRangeException
- RuntimeException
- OutOfBoundsException
- OverflowException
- RangeException
- UnderflowException
- UnexpectedValueException
Exception 有四個 protected 屬性 (property) ,如下
| 型態與名稱 | 說明 |
|---|---|
| string $message | 建構子的第一個參數,其為自訂的錯誤訊息 |
| int $code | 建構子的第二個參數,表示例外碼的整數值 |
| string $file | 發生例外的 PHP 檔案名稱 |
| int $line | 發生例外的行數 |
另外有幾個 final 方法 (method) 與建構子 (constructor) ,如下
| 名稱 | 說明 |
|---|---|
| __construct() | 有三個可有可無的參數, $message 為自訂的錯誤訊息, $code 為例外碼的整數值,最後 $previous 預設為 NULL ,這是前一個例外物件 |
| getMessage() | 回傳 $message |
| getPrevious() | 回傳 $previous |
| getCode | 回傳 $code |
| getFile | 回傳 $file |
| getLine | 回傳 $line |
| getTrace | 回傳儲存回朔的陣列 |
| getTraceAsString | 回傳儲存回朔的字串 |
舉例如下
<?php
try {
throw new Exception('Now', 0, new Exception('Previous'));
} catch (Exception $e) {
echo $e->getMessage(), "\n\n";
echo $e->getCode(), "\n\n";
echo $e->getPrevious(), "\n\n";
echo $e->getFile(), "\n\n";
echo $e->getLine(), "\n\n";
echo $e->getTrace(), "\n\n";
echo $e->getTraceAsString();
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:e000.php
功能:示範 PHP 程式
作者:張凱慶
時間:西元 2013 年 2 月 */
?>執行結果如下

| 中英文術語對照 | |
|---|---|
| 例外 | exception |
| 類別 | class |
| 物件 | object |
| 屬性 | property |
| 方法 | method |
| 建構子 | constructor |
您可以繼續參考
例外
相關目錄
回 PHP 快速導覽
回 PHP 教材
回首頁
參考資料
http://www.php.net/manual/en/language.exceptions.php
http://www.php.net/manual/en/class.exception.php
沒有留言:
張貼留言