为了账号安全,请及时绑定邮箱和手机立即绑定

如何在出现错误时终止脚本?(就像等效的 bash `set -e` 选项一样)

如何在出现错误时终止脚本?(就像等效的 bash `set -e` 选项一样)

PHP
幕布斯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);
});


查看完整回答
反对 回复 2023-08-26
?
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();


如果您需要有关错误的信息,您应该启用错误日志并跟踪它们以获取信息,因为通常将原始错误暴露在屏幕上实际上并不是很好。


查看完整回答
反对 回复 2023-08-26
?
千巷猫影

TA贡献1829条经验 获得超7个赞

PHP 有它自己的函数:exit(). 您可以根据需要传递退出代码。



查看完整回答
反对 回复 2023-08-26
  • 3 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信