幕布斯6054654
2023-08-26 19:08:43
如果發生任何錯誤,如何終止/暫停 PHP 腳本并返回錯誤退出代碼?set -e基本上Bash提供的功能?我嘗試過設置ini_set('error_reporting', E_ALL);,但這實際上并沒有在發生錯誤時停止腳本。
3 回答

明月笑刀無情
TA貢獻1828條經驗 獲得超4個贊
這似乎可以完成工作:
set_error_handler(function ($errno, $errstr, $errfile, $errline) { throw new ErrorException($errstr, $errno, 0, $errfile, $errline); });

jeck貓
TA貢獻1909條經驗 獲得超7個贊
我認為你會想要控制錯誤并以特定的方式處理它們。
在這種情況下我會
try{
// CODE THAT MAY THROW ERROR
$connection = new Connection('Grandmas_prosthetic_bluetooth_api');
$connection->getWalkingDistance();
}catch(){
// ON ERROR HANDLE
die('this is error happened because grandma wasn't around...');
// OR
echo json_encode(array(
'result' => 'failure',
'message' => 'bro something else bad happened...'
));
exit;
}
我喜歡這個,因為如果另一個腳本調用它,至少它可以處理當這個腳本像ajax調用或curs這樣中斷時發生的情況......
否則,如果你的目標是讓人們一無所知,你可以直接 die() 或 exit();
如果您需要有關錯誤的信息,您應該啟用錯誤日志并跟蹤它們以獲取信息,因為通常將原始錯誤暴露在屏幕上實際上并不是很好。
- 3 回答
- 0 關注
- 188 瀏覽
添加回答
舉報
0/150
提交
取消