gpt4 book ai didi

php - 模型中的错误处理 (MVC)

转载 作者:可可西里 更新时间:2023-11-01 13:23:41 26 4
gpt4 key购买 nike

我想知道处理模型中错误的异常(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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com