PHP Conference Japan 2024

Exception::getCode

(PHP 5, PHP 7, PHP 8)

Exception::getCode取得例外代碼

說明

final public Exception::getCode(): int

回傳例外代碼。

參數

此函式沒有參數。

回傳值

Exception 中以 int 型別回傳例外代碼,但在 Exception 的子類別中可能以其他型別回傳(例如在 PDOException 中以 string 型別回傳)。

範例

範例 #1 Exception::getCode() 範例

<?php
try {
throw new
Exception("一些錯誤訊息", 30);
} catch(
Exception $e) {
echo
"例外錯誤碼為: " . $e->getCode();
}
?>

上述範例將輸出類似以下的內容

The exception code is: 30

另請參閱

新增註釋

使用者貢獻的註釋 3 則註釋

talksonweb at gmail dot com
11 年前
例外錯誤碼可以用於對錯誤進行分類。如果您想知道例外錯誤碼的用途,請閱讀下文。

假設每次您的應用程式無法連線到資料庫時,您都可以將錯誤訊息儲存在錯誤/例外錯誤碼 214 下。在月底,您可以快速搜尋錯誤號碼「214」,並找出此錯誤發生的次數。這讓生活更輕鬆。此外,錯誤/例外訊息將提供您有關發生情況的詳細資訊。

重點是同時使用例外訊息和錯誤碼。從長遠來看,這很有幫助。

備註:我新增了這則註釋,因為我之前對於例外錯誤碼的目的及其用途感到困惑。
ricky at rocker dot com
11 年前
當引發未明確定義錯誤碼的例外時,getCode() 會傳回整數 0

<?php
try {
throw new
Exception("沒有錯誤碼!!");
} catch (
Exception $e) {
print(
"錯誤碼='" . $e->getCode() . "'");
}
?>

輸出

錯誤碼='0'
2M
3 年前
檢查 \PDOException 中的例外錯誤碼時,請勿使用嚴格運算子,如建議所示。
根據文件:\PDOException 為其例外錯誤碼傳回字串,而不是整數。

在 PHP8 中遇到以下情況
<?php

catch(\PDOException $e) {
var_dump($e->getCode()); //輸出:string(5) "23000"
}

?>
To Top