我正在寻找关于以下任务的一些编码想法。我想要实现。
我在文档中列出了错误号,描述和用户友好描述。
Ex:
Error Number, Description, User Friendly Description
-----------------------------------------------------
1, Internal Error, "An Internal Error has occurred. Please try again later".
2, Delete Failed, "Unable to delete an Entry. Please try later".
我想编写一个PHP类来存储以上所有内容,以便稍后在代码中发生错误时可以轻松访问它们。
例如:如果我的代码收到错误2,我想检查错误代码和类中的错误代码列表,检索描述,用户友好描述并将其显示给用户。
我希望这是最小的开销。所以,不要将它存储在数据库中。
我正在使用PHP5和Zend MVC框架。有人可以帮我提供最好的示例代码吗?
由于
答案 0 :(得分:1)
你只需要抛出异常。 e.g。
throw new My_Exception('Delete failed',2);
在你的例子中控制器:
try{
// your code
}catch(My_Exception $e){
echo $e->getUserFriendlyMsg();
}
注意:您应该考虑扩展您的excpetion类以将失败记录到日志文件中,为此您可以引入服务级别。 (参见手册 - 异常处理)
答案 1 :(得分:0)
我喜欢使用简单的custom error handler和custom exception handler执行以下操作:
如果处于开发模式:
如果处于生产模式:
仅记录错误消息
关于致命错误,暂停执行并显示一个不错的“已发生错误”页面。
我喜欢处理错误,所以我抓到的任何异常都会调用trigger_error()
来进行输出和记录。
您还可以扩展默认的Exception类来执行日志记录和显示。您可能希望将发生的任何错误转换为exceptions。然后使用throw
将手动错误作为例外触发。
<强>启示:强>
Kohana的错误处理程序(屏幕截图here)是迄今为止我见过的最好和最好的。它是开源的,也许你甚至可以抓住那部分(但请确保你先阅读许可证。)