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
沒有留言:
張貼留言