隐匿错误信息无效?
你在使用 if 语句来连接数据库,并在输入错误登录信息时希望看到 if 语句中的错误信息。然而,系统却报告了一个致命错误,让你怀疑配置文件的问题或其他未知因素。
原因解惑:
从 php 8.0 版本开始,@ 抑止符不再有效抑制致命级别的错误。这意味着一旦发生致命错误,即使使用 @ 也无法阻止其显示。
解决办法:
为了仅在错误发生时显示 if 语句中的错误信息,你需要使用 try-catch 语句。该语句允许你捕获特定类型的异常(例如数据库连接错误),并提供自定义错误处理逻辑。例如:
try { // 数据库连接代码 } catch (PDOException $e) { echo $e->getMessage(); // 显示自定义错误信息 }
登录后复制