Php 没有表单框架的symfony错误处理

Php 没有表单框架的symfony错误处理,php,error-handling,symfony1,Php,Error Handling,Symfony1,我是Symfony的新手,正在努力寻找处理错误的优雅解决方案 我知道我可以抛出异常并创建自己的异常类,但关键是如何以最佳方式向用户显示错误 例如,我有一个信用卡类,它向信用卡和借记卡收费,可能会出现各种各样的问题 因此,我应该为不同的问题创建异常,或者使用一个通用的CardException类,但是我应该在哪里保存实际的错误消息,将错误消息硬编码到card类本身是不好的 以及如何向用户显示它们 我可以这样做,但我感觉这将是一个混乱的解决方案,我正在寻找正确的、最佳实践的symfony方法 有什么

我是Symfony的新手,正在努力寻找处理错误的优雅解决方案

我知道我可以抛出异常并创建自己的异常类,但关键是如何以最佳方式向用户显示错误

例如,我有一个信用卡类,它向信用卡和借记卡收费,可能会出现各种各样的问题

因此,我应该为不同的问题创建异常,或者使用一个通用的CardException类,但是我应该在哪里保存实际的错误消息,将错误消息硬编码到card类本身是不好的

以及如何向用户显示它们

我可以这样做,但我感觉这将是一个混乱的解决方案,我正在寻找正确的、最佳实践的symfony方法

有什么想法吗


或者我应该使用表单框架,我已经准备好接受用户的卡片详细信息,但是如何显示与web服务调用相关的错误,而不是他们提交的信息的问题。

对于不参与验证的错误,您始终可以使用flash消息

$this->getUser()->setFlash('error', 'An error occurred while your transaction took place please try again later.');

它只回答了您的部分问题,我只是在谈论Ajax错误,但我要做的是在页面的某个地方有一个名为“error\u area”的div,以及一个名为displayAjaxError的JavaScript函数,该函数将消息添加到该div中。

要实现此功能,我不需要重定向用户吗?如果我这样做的话,保存表单值可能会很棘手。如果你不这样做,你只需要在页面上有一个显示flash的区域。但通常情况下,最好在发布后进行重定向,除非这是一个错误。