Hello! 欢迎来到小浪云!


PHP 8.0 中 @ 抑止符失效,如何处理致命错误?


avatar
小浪云 2024-11-10 44

PHP 8.0 中 @ 抑止符失效,如何处理致命错误?

隐匿错误信息无效?

你在使用 if 语句来连接数据库,并在输入错误登录信息时希望看到 if 语句中的错误信息。然而,系统却报告了一个致命错误,让你怀疑配置文件的问题或其他未知因素。

原因解惑:

php 8.0 版本开始,@ 抑止符不再有效抑制致命级别的错误。这意味着一旦发生致命错误,即使使用 @ 也无法阻止其显示。

解决办法:

为了仅在错误发生时显示 if 语句中的错误信息,你需要使用 try-catch 语句。该语句允许你捕获特定类型的异常(例如数据库连接错误),并提供自定义错误处理逻辑。例如:

try {     // 数据库连接代码 } catch (PDOException $e) {     echo $e->getMessage(); // 显示自定义错误信息 }
登录后复制

相关阅读