【发布时间】:2009-11-10 18:56:35
【问题描述】:
我正在尝试标准化我在 Web 应用程序(自制框架)中处理异常的方式,但我不确定处理各种情况的“正确”方式。我想知道从 UI/用户友好的角度来看是否有最佳实践。
-
用户登录应用程序并打开两个显示相同屏幕的选项卡。在一个选项卡上,他们对对象
FOO发出删除命令。然后,在另一个选项卡中,他们单击FOO(不再存在)上的编辑命令;例如editObject.php?object_id=FOO的 GET 请求。当他们对这个不存在的对象发出编辑请求时我该怎么办?-目前我正在将这些“丢失”的对象重定向到上一页,并显示“对象不存在”之类的错误消息。
-
用户发出 GET 请求以搜索带有
color=Red的对象,例如searchObjects.php?color=Red。由于有人删除了 OBJECTS 表,返回这些结果的查询失败了。这是一个意外的异常,与 1) 不太一样。-目前我正在重定向到
errorPage.php,并显示一条消息“意外错误” -
一般来说,如果应该存在的GET/POST参数却神秘地丢失了,我该怎么办。也许有人试图注入一些东西?
-目前我将这些视为 2)
在以上 3 种情况下,我应该怎么做?
- 在 url
editObject.php?object_id=FOO处呈现“对象不存在”视图 - 重定向到显示错误视图的控制器:
header('Location: errorPage.php') - 提供 404:不确定在 PHP/Apache 中执行此操作的语法
- 其他
【问题讨论】:
标签: exception-handling redirect error-handling