set_exception_handler是否意味着要替换set_error_handler?

IMB*_*IMB 6 php

根据PHP手册: 内部PHP函数主要使用错误报告,只有现代面向对象的扩展使用异常.但是,可以使用ErrorException将错误简单地转换为异常

ErrorException中提供的示例:

<?php
function exception_error_handler($errno, $errstr, $errfile, $errline ) {
    throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
}
set_error_handler("exception_error_handler");
Run Code Online (Sandbox Code Playgroud)

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

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

hak*_*kre 9

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

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

另见: