Yaf_Dispatcher::setErrorHandler
(Since Yaf 1.0.0.5)
public boolean Yaf_Dispatcher::setErrorHandler( mixed  $callback ,
                                                     
      int  $error_code
      = E_ALL | E_STRICT );
      设置错误处理函数, 一般在appcation.throwException关闭的情况下, Yaf会在出错的时候触发错误, 这个时候, 如果设置了错误处理函数, 则会把控制交给错误处理函数处理.
$callback错误处理函数, 这个函数需要最少接受俩个参数: 错误代码($error_code)和错误信息($error_message), 可选的还可以接受三个参数: 错误文件($err_file), 错误行($err_line)和错误上下文($errcontext)
$error_code要捕获的错误类型
例 11.24. Yaf_Dispatcher::setErrorHandler的例子
     
<?php
/** 
 * 一般可放在Bootstrap中定义错误处理函数
 */
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
    switch ($errno) {
    case YAF_ERR_NOTFOUND_CONTROLLER:
    case YAF_ERR_NOTFOUND_MODULE:
    case YAF_ERR_NOTFOUND_ACTION:
         header("Not Found");
    break;
    default:
        echo "Unknown error type: [$errno] $errstr<br />\n";
        break;
    }
    return true;
}
Yaf_Dispatcher::getInstance()->setErrorHandler("myErrorHandler");
?>
     
    
        | 异常和错误 |