我正在开发一个由 ajax 请求调用的 php 脚本,它应该回显一些要解析的响应代码。
例如:
die('#1:200|Success|'.$data);
或者另一个:
die('#0:100|Access Denied|');
现在,我还想包括在脚本执行期间可能发生的任何错误或警告 - 但附加在消息的末尾。
那么,将所有错误捕获到某个变量中的优雅方法是什么?
编辑
嗯,理解它的用途并不容易,手册在很多方面都不清楚。
但是好的,我会尝试举例说明我是如何理解它的,如果我弄错了,请指出:-)
//So guess first I off error reporting that would naturally occur.
error_reporting(0);
//Then I will define array to stuff the errors in.
$errors=array();
//Then I make my handler function.
function handler($errno,$errstr){
global $errors;
$errors[]=$errno.': '.$errstr; //Stuff it into array.
}
//Then I define handler.
set_error_handler('handler',E_ALL);
这是正确的用法吗?
它还说:
The following error types cannot be handled with a user defined function: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, and most of E_STRICT raised in the file where set_error_handler() is called.
还有一个问题,为什么它不能捕获严格的错误?