gpt4 book ai didi

php - PHP异常,错误并提供用户反馈

转载 作者:行者123 更新时间:2023-12-03 08:54:58 24 4
gpt4 key购买 nike

就是这种情况。假设我有一个收集名字,姓氏和电子邮件地址的表格,所有字段都是必填字段。

通常,我只检查一个字段,如果未设置,则回显错误。很好,但是我想更优雅地处理事情。我一直在阅读有关 throw / try/catch 的知识,并且我知道如何使它们起作用,但是我不确定何时应该使用它们。

让我更具体地说明我想做什么。

所以我又有3个 Realm :

  • 姓氏
  • 电子邮件

  • 我将这些字段放入验证器中。验证器返回一个以字段为键和错误消息(如果有)的数组。我想遍历数组,并以某种方式将这些错误设置为某种全局错误数组。 Controller 将读取该数组,该 Controller 将准备显示错误。说得通?

    我以为throw/catch/try可以做到这一点,但一次只能抛出1个错误。我想做的是立即向用户显示所有错误。

    我意识到我可能会偏离这里,但这就是为什么我要寻求建议。在这种情况下,最佳做法是什么?

    最佳答案

    我见过的一个(可能有些极端)经验法则是,仅应在对程序退出感到满意的情况下使用Exceptions。这是因为如果您没有捕获到异常,那将会发生。但它也强调了这样的想法,即不应将异常用于“照常营业”,流程控制和情况。

    正如您所发现的,一旦抛出异常,您就会无所适从,因此您不能同时创建多个异常。因此,最好的验证选择就是建立一系列错误-不需要是全局的,只需从validate方法返回它,也可以将其作为Validator对象的成员。

    接下来出现的消息部分取决于个人风格,部分取决于代码的结构。您可能希望将它们直接传递到模板,仅在没有要显示的情况下继续进行。但是您可能会发现这需要在多个位置检查“返回的错误,请不要继续”,在这种情况下,将单个异常包装在消息中可能会更有意义,因为您知道那里和捕获之间没有代码会跑。

    关于php - PHP异常,错误并提供用户反馈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29424317/

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