gpt4 book ai didi

php - 错误处理 php

转载 作者:搜寻专家 更新时间:2023-10-31 20:43:25 24 4
gpt4 key购买 nike

我编写了一个错误处理程序来处理 php 中的不同类型的错误(甚至解析错误等)。

问题:

因为我现在可以检测到错误类型(常量),所以有必要确定我应该允许或不允许哪些错误,在这种情况下进行温和的关闭。如果我看http://www.php.net/manual/en/errorfunc.constants.php我看到了不同类型错误的所有不同常量。

问题是:

1)这些常量之间是否存在某种用于错误处理的关系。让我们说我知道我不想在我的屏幕上打印错误等的级别?或者我是否必须为每个错误常量(似乎是这样)手动设置它?

2) 如何在不使用 trigger_error() 或 user_error() 的情况下引发屏幕示例中的每个错误?是否有某种列表可以产生这些错误以及我可以用代码产生哪些错误?

干杯,非常感谢您的回答。

最佳答案

您可以像这样将所有通知、警告和错误常量组合在一起:

notice : 8 + 1024 + 2048 + 8192 + 16384 = 27656 0x6c08
warning: 2 + 32 + 128 + 512 = 674 0x2a2
error : 1 + 16 + 64 + 256 + 4096 = 4433 0x1151

您还可以通过显式使用常量名称来添加它们,例如E_ERROR

所以:

$is_notice  = $code & 0x6c08 != 0;
$is_warning = $code & 0x2a2 != 0;
$is_error = $code & 0x1151 != 0;

关于您的第二个问题,您是否在寻找能够触发上述不同级别的代码?

$f = fopen($a, 'r'); // notice + warning
$f->read(); // error

include 'script_with_parse_error.php'; // e_parse

function test(Iterator $i) { }
test(123); // e_recoverable_error

function modify(&$i) { ++$i; }
modify(123); // e_strict

$x = split(',', ''); // e_deprecated

当然,E_USER 事件只能通过 trigger_error() 生成。

关于php - 错误处理 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17016276/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com