我需要捕捉功能「包含」PHP的最後一個錯誤。如何捕獲函數「include」中的錯誤PHP?
我使用函數「Exceptions」進行測試,但不幸的是,我在上面寫了函數「include」。
如果我在寫入函數「include」之後沒有顯示異常。
實施例1:
try{
throw new exception();
require_once($this->controller['path']);
}
catch(exception $e)
{
print_r(error_get_last());
}
此返回值: ...(無效)...
實施例2:
try{
require_once($this->controller['path']) OR throw new exception();;
}
catch(exception $e)
{
print_r(error_get_last());
}
此返回:解析錯誤:語法錯誤,意外的T_THROW在...
我故意在要包含的文件中創建了一個語法錯誤。這個想法是捕獲錯誤,以便您可以調試它們。
任何人有任何想法如何得到這個?
夥計!我需要捕捉語法錯誤。問候!
夥計們!我需要捕捉語法錯誤。 問候! – 2011-12-22 05:20:35
@OlaErlandsenTriskel:你不能。語法錯誤在令牌化級別失敗。那時你的代碼還沒有開始執行。您可以包含該文件並在單個文件上運行'token_get_all()'。不知道如果有一個解析錯誤會發生什麼(可能是一個空數組)? – alex 2011-12-22 05:23:35
你爲什麼要測試語法錯誤?你必須在開發時做到這一點,而不是在運行時 – 2011-12-22 05:29:20