symfony 1.4:如何将异常消息传递给error.html.php?

2023-12-05

我尝试使用特殊变量$message此处描述http://www.symfony-project.org/cookbook/1_2/en/error_templates但似乎这个变量没有在 symfony 1.4 中定义,至少它不包含以这种方式传递给异常的消息throw new sfException('some message')

您知道将此消息传递给 error.html.php 的其他方法吗?


您需要进行一些自定义错误处理。我们自己实现了对自定义 symfony 操作的转发。但要小心,此操作本身也可能会触发异常,您需要考虑到这一点。

以下可能是一个好的开始。首先为该事件添加一个监听器,一个好的地方是ProjectConfiguration.class.php:

$this->dispatcher->connect('application.throw_exception', array('MyClass', 'handleException'));

使用事件处理程序可能足以满足您想要对异常执行的操作,例如,如果您只想将堆栈跟踪邮寄给管理员。我们想要转发自定义操作来显示和处理反馈表单。我们的事件处理程序看起来像这样:

class MyClass {
  public static function handleException(sfEvent $event) {
    $moduleName = sfConfig::get('sf_error_500_module', 'error');
    $actionName = sfConfig::get('sf_error_500_action', 'error500');
    sfContext::getInstance()->getRequest()->addRequestParameters(array('exception' => $event->getSubject()));
    $event->setReturnValue(true);
    sfContext::getInstance()->getController()->forward($moduleName, $actionName);
  }
}

您现在可以在 settings.yml 中配置要转发到异常的模块和操作

all:
  .actions:
    error_500_module:       error
    error_500_action:       error500

在操作本身中,您现在可以做任何您想做的事情,但例外,例如。显示反馈表以联系管理员。您可以使用 $request->getParameter('exception') 获取异常本身

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

symfony 1.4:如何将异常消息传递给error.html.php? 的相关文章

随机推荐

  • Apache Commons 文件上传 - 流意外结束

    好吧 我不得不说 到目前为止 这个问题让我难住了 我们在 Tomcat 6 0 18 中运行的 Web 应用程序在文件上传期间失败 但是仅当客户端机器是Windows机器时 仅适用于某些机器 并且适用于所有浏览器 而不仅仅是IE 日志中有堆
  • 将函数应用于列表的每个元素[重复]

    这个问题在这里已经有答案了 假设我有一个类似的列表 mylis this is test another test 如何将函数应用于列表中的每个元素 例如 我该如何申请str upper to get THIS IS TEST ANOTHE
  • 如何在 C# 中执行 SHA1 文件校验和?

    我该如何使用SHA1CryptoServiceProvider 在文件上创建文件的 SHA1 校验和 using FileStream fs new FileStream C file location FileMode Open usin
  • python exec() 中的全局变量和局部变量

    我正在尝试使用 exec 运行一段 python 代码 my code class A object pass print locals s locals print A s A class B object a ref A global
  • 创建确定性有限自动机 (DFA) - Mercury

    我想要在 Mercury 中模拟确定性有限自动机 DFA 但我有几个地方很糟糕 形式上 DFA 具有以下特征 一组状态 S 一个输入字母 E 一个转换函数 S E gt S 一个startState s S setOfAcceptableF
  • Java [unchecked] 未检查的情况警告

    好吧 我环顾四周并做了很多谷歌搜索 但我仍然找不到避免此警告的方法 Integer result chooser showOpenDialog null if result equals 0 String tempHolder choose
  • 无法更改 Android 设备中的语言

    我正在尝试在应用程序中更改设备的语言 我有这个代码 Locale locale new Locale en US Locale setDefault locale Configuration config new Configuration
  • Python:访问另一个文件中函数中的变量

    我有两个文件 lib py global var def test var Hello return test py from lib import test print var 但是尽管它们位于同一文件夹中 当我运行 test py 时
  • 从按钮扩展获取所有数据 (Excel)

    我们有一个支持分页的数据表 没问题 需要包含 导出到 Excel 按钮 因此 我们添加了 按钮 扩展 并且可以正常导出数据 问题是这样的 它只导出当前页面的数据 而不是整个数据集 如何获取整组数据 是否可以 dataTable custom
  • 需要 WPF 线角度的算法

    计算 WPF 线的角度 以度为单位 的 正确 算法是什么 你需要atan2 然而 这将为您提供以弧度为单位的角度 转换为度数一定很容易 角度的计算方式为atan2 y2 y1 x2 x1 where x1 y1 and x2 y2 是你的线
  • Powershell:通过 UpgradeCode 卸载应用程序

    当我通过 Powershell 脚本升级 降级我的应用程序时 我想在运行新安装程序之前首先强制卸载当前安装的版本 如何使用应用程序的 UpgradeCode 使用 Powershell 来做到这一点 通过应用程序名称执行此操作会不太健壮 既
  • 单声道,shell 脚本?

    csharp 版本 Mono C 编译器版本 4 0 0 0 允许写入C 脚本 like usr bin csharp Console WriteLine Hello world 我尝试添加 main 函数 但出现解析错误 例如 inter
  • 从 powershell 脚本生成的程序中正常退出

    假设我有以下脚本 originalPath pwd D code ps1 misc title ps1 dynamo db CURPATH PSScriptRoot path txt DB DIR cat CURPATH cd DB DIR
  • 使用 Powershell 通过传入参数来更新 web.config 中 XML 元素的 configSource

    我试图找到一种方法 通过更新 web config 中 appSettings 元素的 configSource 来更新不同环境的 web config 这是我知道的方法 xml get DocumentElement appSetting
  • 如何在Dask中进行行处理和项目分配

    类似的未回答问题 Dask DataFrame 的逐行处理 我正在处理数百万行长的数据帧 因此现在我尝试并行执行所有数据帧操作 我需要转换为 Dask 的此类操作之一是 for row in df itertuples ratio row
  • 我有md5加密的密码,当用户使用“忘记密码”时如何将密码提供给用户?

    我有 md5 格式的密码数据库条目 但是当用户使用 忘记密码 时 我该如何给他 她所需的密码 你不能通过 MD5 哈希来做到这一点 你也不应该能够 密码恢复应该是很棘手的 通常的过程是将密码重置令牌 URL 发送到他们的电子邮件地址 以便用
  • 打开文件后程序崩溃[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我需要将文件中的值读取到我的程序中 文件打开成功 但随
  • ViewFlipper 不随子列表视图一起翻转

    滑动时 ViewFlipper 不工作 如果我放置其他视图而不是列表视图 则翻转效果很好 我还应该为列表视图添加其他代码吗 并且视图翻转器内的滚动视图也不适合我 这是我的 xml 代码
  • 右键单击坐标[重复]

    这个问题在这里已经有答案了 好吧 我正在使用这个函数来获取 X Y 坐标
  • symfony 1.4:如何将异常消息传递给error.html.php?

    我尝试使用特殊变量 message此处描述http www symfony project org cookbook 1 2 en error templates但似乎这个变量没有在 symfony 1 4 中定义 至少它不包含以这种方式传