php – set_exception_handler是否意味着要取代set_error_handler?

前端之家收集整理的这篇文章主要介绍了php – set_exception_handler是否意味着要取代set_error_handler?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
根据 PHP Manual
内部PHP函数主要使用错误报告,只有现代面向对象的扩展使用异常.但是,可以使用ErrorException将错误简单地转换为异常

ErrorException中提供的示例:

<?PHP
function exception_error_handler($errno,$errstr,$errfile,$errline ) {
    throw new ErrorException($errstr,$errno,$errline);
}
set_error_handler("exception_error_handler");

它似乎允许使用Exceptions而不是默认的错误报告.我的问题是,这是鼓励还是我们的选择?

此外,这是一个更好的做法,像上面的例子一样单独使用Exception,或者同时使用Exception(set_exception_handler)和Error reporting(set_error_handler)?

简答:不.这是两个不同的功能.

答案很长:这并不是要取代而是要利用. set_exception_handlerDocs用于例外,set_error_handlerDocs用于错误.那是两双不同的鞋子.

另见:

> PHP: exceptions vs errors?
> PHP: What is the flow of control for error handling?
> Error Handling and LoggingDocs

猜你在找的PHP相关文章