set_error_handler回调函数中的$ errno是什么?

时间:2012-10-02 20:14:44

标签: php error-handling

set_error_handler回调函数接受2个必需参数和3个可选参数。 其中一个是$ errno(第一个)。

它有什么用?它是E_ALL或E_NOTICE的整数表示....?

2 个答案:

答案 0 :(得分:3)

关于错误处理程序set_error_handler()文档:

  

第一个参数 errno ,包含引发的错误级别,为整数。

它将是predefined error constants中的一个,例如E_USER_WARNINGE_NOTICE

答案 1 :(得分:2)

$ errno包含引发的错误级别,为整数。

我认为这个例子会说清楚(不是我的代码):

 switch ($errno) {
    case E_USER_ERROR:
        echo "<b>My ERROR</b> [$errno] $errstr<br />\n";
        echo "  Fatal error on line $errline in file $errfile";
        echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
        echo "Aborting...<br />\n";
        exit(1);
        break;

    case E_USER_WARNING:
        echo "<b>My WARNING</b> [$errno] $errstr<br />\n";
        break;

    case E_USER_NOTICE:
        echo "<b>My NOTICE</b> [$errno] $errstr<br />\n";
        break;

    default:
        echo "Unknown error type: [$errno] $errstr<br />\n";
        break;
    }