簡體   English   中英

我無法使用 try...catch 捕獲 php 異常

[英]I can't catch php exceptions using try…catch

我遇到了 PHP 異常問題。 即使我嘗試執行此代碼:

try {
    $some->knownMethodWithError();
} catch(Zend_Exception $exp){
    echo 'Error!: ' . $exp->getMessage();
}

我的 apache/php 服務的 web 頁面總是顯示 500 錯誤。 我是說,

echo 'Error!: ' . $exp->getMessage();

從不被執行。 我已經用重定向而不是那個回聲進行了測試,但它不起作用。 是否有一些 php.ini 指令會導致這種行為,或者可能是其他原因?

這發生在我基於 Zend 框架的項目中。

此外,您的代碼只會捕獲 Zend_Exception。 如果您有自定義異常,可能 catch(Exception $e) 將有更多機會捕獲所有異常

也許您可以運行帶有完整日志的腳本。 把你的php.ini在服務器上就行了:

error_reporting=E_ALL | E_STRICT

或者更好地在帶有調試器的 IDE 環境中運行它。

500 錯誤不是 PHP 異常,它發生在代碼級別之上。 500 錯誤意味着在 PHP 嘗試解析您的腳本時出現錯誤(可能)。 可能您的代碼有語法錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM