trigger_error中断脚本吗?

时间:2012-11-29 07:20:35

标签: php

在运行时,日志文件包含我设置为trigger_error参数的消息。之后页面是空白的!是否可以在trigger_error之后继续执行代码?

2 个答案:

答案 0 :(得分:13)

不,trigger_error()不会停止执行,除非您将第二个参数作为E_USER_ERROR传递。默认情况下,它会触发警告。您必须在通话后的某个时间点出现错误。

触发警告:

trigger_error("CTest message"); // defaults to E_USER_NOTICE

触发致命错误:

trigger_error("Test message", E_USER_ERROR);

答案 1 :(得分:3)

这取决于您传递给trigger_error()函数的第二个参数$error_type。有些会显示错误并停止执行,有些会显示错误并继续(请注意,显示也取决于您的error_reportingdisplay_errors设置)。

例如,如果你打电话:

trigger_error('This is an error', E_USER_ERROR);

您的脚本将停止执行。

但是,如果你打电话:

trigger_error('This is a warning', E_USER_WARNING);

您的脚本不会停止。

默认情况下,trigger_error()使用不会停止执行的E_USER_NOTICE

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