我喜歡使用 PHP Error類來使用 throw 來返回,如下所示:throw new Error('Some problem description');遺憾的是,我必須在 CentOS 7.5 上使用PHP 5.4.16。Error 類是在 PHP 7 中引入的。我可以包含一個類來模擬 PHP 7 中 Error 類的行為嗎?
2 回答

PIPIONE
TA貢獻(xiàn)1829條經(jīng)驗 獲得超9個贊
錯誤和異常具有相同的簽名,因此您可以使用后者:
if (!class_exists('Error')) {
? ?class Error extends Exception
? ?{
? ?}
}
根據(jù)您的喜好進(jìn)行調(diào)整。例如,您可能想要檢查 PHP 版本(為 PHP/5 編寫的軟件可能已經(jīng)有一個自定義Error
類)。當(dāng)然,沒有任何本機(jī)函數(shù)會真正拋出它。

呼喚遠(yuǎn)方
TA貢獻(xiàn)1856條經(jīng)驗 獲得超11個贊
PHP 5中沒有Error
類,但是這個類和類是一樣的Exception
。如果您想生成自定義錯誤,請使用Exception
throw new Exception('Some problem description');
從功能角度來看,Error
和class沒有區(qū)別。Exception
我們擁有這兩個的唯一原因是出于語義目的。我們不希望 PHP 5 代碼在升級到 PHP 7 后使用try() catch(Exception $e)
邏輯捕獲致命錯誤。
- 2 回答
- 0 關(guān)注
- 132 瀏覽
添加回答
舉報
0/150
提交
取消