php - 如何在 PHP 中捕获 require() 或 include() 的错误?

标签 php error-handling try-catch require fatal-error

我正在用 PHP5 编写脚本,需要某些文件的代码。当 A 文件不可用于包含时,首先会抛出警告,然后抛出 fatal error 。当无法包含代码时,我想打印自己的错误消息。如果 requeire 不起作用,是否可以执行最后一个命令?以下无效:

require('fileERROR.php5') or die("Unable to load configuration file.");

使用 error_reporting(0) 抑制所有错误消息只会出现白屏,不使用 error_reporting 会出现我不想显示的 PHP 错误。

最佳答案

您可以使用 set_error_handler 来完成此操作连同ErrorException .

ErrorException 页面的例子是:

<?php
function exception_error_handler($errno, $errstr, $errfile, $errline ) {
    throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
}
set_error_handler("exception_error_handler");

/* Trigger exception */
strpos();
?>

一旦您将错误作为异常处理,您可以执行以下操作:

<?php
try {
    include 'fileERROR.php5';
} catch (ErrorException $ex) {
    echo "Unable to load configuration file.";
    // you can exit or die here if you prefer - also you can log your error,
    // or any other steps you wish to take
}
?>

关于php - 如何在 PHP 中捕获 require() 或 include() 的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8261756/

相关文章:

PHP电子邮件加密

php - 我正在尝试使用 PHP 和 MySql 渲染 google 图表,但没有渲染图表,也没有显示错误消息。 html代码是否正确?

java - 错误的结果 一旦我处理 try and catch

php - 从隐藏更改为文本框。我的代码有什么问题吗?

Php:我怎样才能从字符串中删除任何字符或整个字符串,不包括引号之间的字符?

php - 面对文件获取html错误

api - 使用jmeter “too many attempts error”进行API测试

objective-c - 当错过来自 catch block 的 return 语句时,代码编译没有任何错误

Try/Catch block 中的 PHP 变量范围

php - MySQL 从两个不同的表中选择唯一值?