我想知道处理模型中错误的异常(exception)标准是什么。
目前,我的所有模型都在使用“setError”和“getError”方法。
这意味着我只关心对模型中方法的调用是真还是假。如果它为假,那么我会在我的 Controller 中使用 $this->model->getError()
。
此外,我正在考虑设置一个包含我所有错误的单独文件。每个模型一个文件,也想对此有想法。
最佳答案
一个更简单的解决方案是使用 exceptions .
当您向用户显示的错误发生时,抛出一种特殊类型的异常 - 可能名为 UserError
。抛出异常时,异常应包含错误消息的文本。这些类型的错误是功能,可为用户提供有用的信息(即他们试图删除不存在的内容 - 这可能在他们打开多个浏览器时发生,等等)
例如:
throw new UserError("That object no longer exists.");
当发生您想要对用户隐藏的错误时,抛出一种不同类型的异常,可能名为 InternalError
。您可能希望记录 并允许程序继续运行,这样特定的错误就对用户隐藏了。如果它阻止某些事情发生,您可能想要抛出一条通用错误消息。这些将是 错误,您希望尽快修复它们。
例如:
throw new InternalError("Failed to connect to remote service");
所有错误消息都可以存储(硬编码)在抛出异常的源中。这不一定是一个糟糕的设计实践 - 如果您使用像 gettext 这样的工具,您可以轻松翻译所有这些消息。
关于php - 模型中的错误处理 (MVC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1452063/