【发布时间】:2013-02-19 05:11:36
【问题描述】:
我最近一直在询问有关异常和处理异常等问题,which as recently best explained to me in this question.我现在的问题是我将如何使用
set_exception_handler();
在一个类中设置一个错误处理类在php中,当抛出错误时由这个类处理。正如定义所述:
如果在 try/catch 块中未捕获到异常,则设置默认异常处理程序。调用 exception_handler 后将停止执行。
我在想我可以这样做:
class Test{
public function __construct(){
set_exception_handler('exception');
}
public function exception($exception){
echo $exception->getMessage();
}
}
但问题是,如果用户正在设置应用程序或使用应用程序中的任何 API,他们必须做一个整体:new Test();
那么我该如何编写一个异常处理程序类:
- 在抛出异常时自动调用以处理“未捕获”异常。
- 以可扩展的 OOP 方式完成。
我所展示的方式是我能想到的唯一方式。
【问题讨论】:
-
这确实应该在官方PHP帮助中,标记为
the best practices!
标签: php exception error-handling