Exception异常被第一个匹配的 try / catch 块所捕获。如果没有匹配的 catch 块,则调用异常处理函数(事先通过 set_exception_handler() 注册)进行处理。 如果尚未注册异常处理函数,则按照传统方式处理:被报告为一个致命错误(Fatal Error)。
php默认的错误处理是抛出错误信息到页面上,这对api及其不友好,所以自定义错误处理就很有必要,通过set_error_handler、set_exception_handler、register_shutdown_function则三个函数就可以将绝大部分错误接管,然后经过他们参数的回调函数组装输出错误
当然3个回调函数分别输出错误 优点繁琐且臃肿,所以像TP框架就创建了一个handle类来统一组装和输出错误
PHP异常.png
网友评论