加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – 什么时候错误检查太多了?

发布时间:2020-05-25 09:05:02 所属栏目:PHP 来源:互联网
导读:在我的 PHP学习过程中,我一直在尝试阅读错误报告和处理的最佳实践,但语句因人而异,我一直在努力想出一种清晰简洁的方法来处理我的应用程序中的错误.我对可能出错的事情使用异常,但在大多数情况下,我很难理解异常是否应该杀死应用程序并显示错误页面或者只是被

在我的 PHP学习过程中,我一直在尝试阅读错误报告和处理的最佳实践,但语句因人而异,我一直在努力想出一种清晰简洁的方法来处理我的应用程序中的错误.我对可能出错的事情使用异常,但在大多数情况下,我很难理解异常是否应该杀死应用程序并显示错误页面或者只是被捕获并静默处理.

似乎无法回避的事情是,有太多的报道吗?每次你调用一个函数都会出现可怕的错误,这意味着如果你要确认每一个函数调用,你将不得不用if语句填充页面,并找出其中一个失败可能产生的影响.有错误报告的简明文档或想法可以为我清除这一点吗?有最佳做法吗?良好错误处理的最佳示例是什么?

目前我做以下事情:

>如果发生致命错误,请将重要事件结果添加到要记录的数组并通过电子邮件发送给我
>显示致命错误的抽象/一般错误.
>对可能失败的案例使用例外
>在开发环境中打开错误报告,关闭实时环境
>验证所有用户输入数据
>清理无效的用户输入
>向用户显示简明,信息丰富的错误消息,而无需提供利用平台.

例外情况是你唯一没有理解的恕我直言:异常意味着你无法控制,意味着被捕获从他们被引入的范围之外被处理.try块有一个特定的限制:它应该包含相关的行动.比如拿一个数据库试试catch块:
$array = array();
try {
    // connect throws exception on fail
    // query throws exception on fail
    // fetch results into $array
} catch (...) {
    $array[0]['default'] = 'me';
    $array[0]['default2'] = ...;
    ...
}

正如您所看到的,我将每个与数据库相关的函数放在try块中.如果连接未通过查询并且未执行提取,则因为没有连接就没有意义.如果查询失败,则跳过提取,因为在获取没有结果时没有任何意义.如果出现任何问题,我有一个空的$数组来处理:所以我可以用默认数据填充它.

使用以下例外:

$array = array();
try {
    if (!file_exists('file.php')) throw new Exception('file does not exists');
    include('file.php');
} catch (Exception $e) {
    trigger_error($e->getMessage());
}

没有意义.它只是一个更长的版本:

if (!file_exists('file.php')) trigger_error('file does not exists');
    include('file.php');

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读