PHP:任何人都可以解释这个异常处理程序错误吗?

时间:2015-03-06 05:11:16

标签: php

嗨,这里的任何人都可以帮助如何确定这里的错误是什么?拜托,我真的需要知道。先谢谢你们!帮我弄清楚下面的代码有什么问题。

function exception_error_handler($errno, $errstir, $errfile, $errline ) {
throw new ErrorException($errstr, $errno, 0, $errfile, $errline);;
}
set_error_handler("exception_error_handler");

/* Trigger exception */
strpos();

我不知道这个错误是什么,但它仍然保持错误输出。请帮助我们

2 个答案:

答案 0 :(得分:1)

您是否可以尝试以下代码来捕获您throw的自定义ErrorException?:

function exception_error_handler($errno, $errstir, $errfile, $errline ) {
    throw new ErrorException($errstr, $errno, 0, $errfile, $errline);;
}
set_error_handler("exception_error_handler");

try {
    /* Trigger exception */
    strpos();
    echo 'No exception was thrown';
}

//catch exception
catch(Exception $e) {
    echo 'Message: ' .$e->getMessage();
}

答案 1 :(得分:1)

在PHP中,通知和警告不会抛出异常。调用不带参数的strpos()是一个警告。该函数将自定义函数注册为error_handler,它基本上将所有通知和警告转换为异常。它'对开发和调试很有用,许多框架使用类似的东西在开发模式下显示错误页面。