设定错误和异常处理的三个函数(第一篇)

三个函数分别为register_shutdown_function()、set_error_handler()、set_execption_handler(),以下分别做解释:

register_shutdown_down()

解释:当程序脚本执行完毕、运行超时、或者意外死掉导致php执行关闭的时,该函数会被调用

执行机制:php把要调用的函数注入内存,当页面所有的php语句执行完毕的时,调用该函数,特别注意的是,在这个时候是从内存中调用,从PHP页面中调用。

 

案例一:不带参数,执行无错误

<?php
register_shutdown_function(array('Shutdown','fun1'));
class Shutdown{
    public static function fun1(){
        echo "register_shutdown_function回调成功";
    }
}

//执行结果:register_shutdown_function回调成功
//案例一注意事项:fun1方法为静态方法(static)
?>

 

案例二:带参数,执行无错误

<?php
//PHP4后支持注册函数参数传递
register_shutdown_function('fun2','参数1','参数2'); function fun2($param1,$param2){ echo "fun2调用成功,参数分别为:".$param1.'---'.$param2; } //执行结果:fun2调用成功,参数分别为:参数1---参数2 ?>

案例三:不带参数,执行有错误

<?php
  function shutdown_func(){
   die("not a clean shutdown");
 }
 register_shutdown_function("shutdown_func");
  $a = new FooClass(); // 将因为致命错误而失败
//执行结果:Fatal error: Class 'FooClass' not found in D:\web\m_study\a.php on line 6 
//not a clean shutdown
?>

 

posted @ 2016-11-23 14:12  小葱拌豆腐,  阅读(245)  评论(0编辑  收藏  举报