PHP异常处理

简单的异常捕获

getMessage(); #异常
        }
    }
}

如果类中有20个方法,每个都try_catch?
可以写个基类,在基类的构造函数里注册一个异常处理函数,其他的类继承这个基类

getMessage();
            }
        );
    }
}

继承基类,所有的异常都会抛出给基类,基类可以做统一处理.

注意最后两个方法
function d()报错超时
function e()报错内存溢出
并不能被基类捕获
可以注册一个register_shutdown_function(),该方法在脚本结束时执行.

#index.php 入口文件
register_shutdown_function(
    function (){
        $error = error_get_last();
        if ($error){
            dump($error);
        }
    }
);

要注意的是,这个函数可以出现多次,并按注册先后顺序执行,前边的执行了exit(); 后续的将不会执行.有的框架如tp3.2.3已经注册了此方法,并且他内部执行了exit(); 想让自己的方法执行,应该早于框架注册, 可以放在index.php文件中,这样便能处理超时和内存溢出错误

你可能感兴趣的:(PHP异常处理)