gpt4 book ai didi

php - 在模型或 Controller 中处理错误?

转载 作者:可可西里 更新时间:2023-11-01 00:38:03 25 4
gpt4 key购买 nike

我在各种 IRC channel 上四处询问,但无法得到明确解释的答案。应该在模型中还是在 Controller 中处理错误(与模型有关,例如事务失败)?

在此先感谢您的帮助。

编辑

好吧,令人困惑的是我的代码(在模型中)看起来已经像这样了:

try
{
// Connect to MongoDB
// Fetch a record
}
catch (MongoConnectionException $e)
{
// Handle this error
}
catch (MongoException $e)
{
// Handle this error
}

那么,我应该根据 MongoDB 返回的异常返回异常吗?或者我应该直接允许这些异常冒泡到 Controller 吗?

谢谢!

最佳答案

正确答案是“两者”,但主要是在模型中。

您的 Controller 要做的适当事情是简单地捕获模型抛出的一些异常,并处理输出一个漂亮的“whups”消息。根据您构建模型的方式, Controller 进行一些日志记录可能是合适的。

除了捕获异常,可能写入日志(如果您的模型基础架构不这样做)和显示错误之外,任何其他内容都不属于您的 Controller 。

关于php - 在模型或 Controller 中处理错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3226016/

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