Php 触发器错误是否会中断脚本?

Php 触发器错误是否会中断脚本?,php,Php,在运行时,日志文件包含我设置为trigger\u error参数的消息。在那之后,页面是空白的!是否可以在触发错误后继续执行代码?否,除非将第二个参数作为E\u USER\u error传递,否则不会停止执行。默认情况下,它会触发警告。您必须在呼叫后的某个时间点出错 触发警告: trigger_error("CTest message"); // defaults to E_USER_NOTICE 触发致命错误: trigger_error("Test message", E_USER_ERR

在运行时,日志文件包含我设置为
trigger\u error
参数的消息。在那之后,页面是空白的!是否可以在触发错误后继续执行代码?

否,除非将第二个参数作为
E\u USER\u error
传递,否则不会停止执行。默认情况下,它会触发警告。您必须在呼叫后的某个时间点出错

触发警告:

trigger_error("CTest message"); // defaults to E_USER_NOTICE
触发致命错误:

trigger_error("Test message", E_USER_ERROR);

这取决于传递给函数的第二个参数是什么,
$error\u type
。一些将显示错误并停止执行,另一些将显示错误并继续(注意,显示也基于您的
错误报告
显示错误
设置)

例如,如果您呼叫:

trigger_error('This is an error', E_USER_ERROR);
trigger_error('This is a warning', E_USER_WARNING);
您的脚本将停止执行

但是,如果您致电:

trigger_error('This is an error', E_USER_ERROR);
trigger_error('This is a warning', E_USER_WARNING);
你的脚本不会停止

默认情况下,
trigger\u error()
使用不会停止执行的
E\u USER\u NOTICE


可以找到错误类型的完整列表。

是的,第二个参数是E_USER_error:事实上,我正在测试会话破坏,垃圾收集器成功删除数据库会话数据,当我尝试重新加载创建会话的页面时,会引发触发器_错误
E_USER_ERROR
将停止执行、删除参数或更改为E_USER_notice如果设置自定义错误处理程序,则可以通过不返回
false
来允许E_USER_ERROR继续执行。触发器_ERROR不能与E_ERROR或E_警告一起使用。正如trigger_error的php文档所说,它只适用于E_用户常量族。