gpt4 book ai didi

php - 为什么 PHP 7 没有捕捉到一些错误?

转载 作者:可可西里 更新时间:2023-10-31 22:50:30 26 4
gpt4 key购买 nike

<分区>

PHP 7 中,可以抛出的任何对象的基本接口(interface)都是 Throwable .我们还有一个 Error所有内部 PHP 错误的基类。但为什么我无法捕捉到如下错误:

一)

try {
$file = fopen('not_exist_file', 'r');
} catch (\Error $e) {
echo 'Cannot open a file';
}

预期结果:“无法打开文件”
实际结果:PHP 警告:fopen(not_exist_file):无法打开流:没有这样的文件或目录

b)

try {
$result = 10 / 0;
} catch(\DivisionByZeroError $e){
echo 'Catch DivisionByZeroError';
} catch (\Throwable $e) {
echo 'Catch Throwable';
}

预期结果:'Catch DivisionByZeroError'
实际结果:PHP 警告:在 .. 中被零除

c)

try {
trigger_error('User error');
} catch(\Error $e) {
echo 'Catch error';
} catch (\Throwable $e) {
echo 'Catch throwable';
}

预期结果:“捕获错误”
实际结果:PHP 注意:用户错误..

我的 PHP 版本 7.1.1 (cli)

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