【发布时间】:2011-05-08 22:58:04
【问题描述】:
今天我和我的一个朋友进行了愉快的交谈。我们涵盖了 Web 开发的几个方面。
他批评了我的应用程序错误处理方法,基本上如果我需要检查用户权限来执行某个操作,我会执行以下操作:
// My little function
function check_user_perms($user)
{
// @returns boolean
// checking is user is permitted to perform an action
return ($something > 1) ? TRUE : FALSE; // of course it returns true/false, not null
}
// place where I need to check user permission
// please note that following lame snippets are meant to show you my approach
if( check_user_perms($user_id) )
{
// perform the action
}
else
{
echo 'You have no permission to perform this action.';
}
他说,我应该使用异常。所以我开始阅读并认为我学到了很好的例外做法。
只有几件事需要澄清:
1. 我应该对 Web 应用程序中的所有内容都使用异常吗?
2. 如果是这样,如何在生产中向用户显示消息?
3. 你会建议什么方法?
【问题讨论】:
-
这段代码(特别是回显)是否驻留在您的输出模板中? - 例外当然不适用于“一切”。将它们用于最终用户消息信号是可行的(特殊异常类),但理想情况下,用户通知应该使用由应用程序处理的单独系统,而不是由运行时处理。
标签: php exception exception-handling