隱匿錯誤信息無效?
你在使用 if 語句來連接數據庫,并在輸入錯誤登錄信息時希望看到 if 語句中的錯誤信息。然而,系統卻報告了一個致命錯誤,讓你懷疑配置文件的問題或其他未知因素。
原因解惑:
從 php 8.0 版本開始,@ 抑止符不再有效抑制致命級別的錯誤。這意味著一旦發生致命錯誤,即使使用 @ 也無法阻止其顯示。
解決辦法:
為了僅在錯誤發生時顯示 if 語句中的錯誤信息,你需要使用 try-catch 語句。該語句允許你捕獲特定類型的異常(例如數據庫連接錯誤),并提供自定義錯誤處理邏輯。例如:
try { // 數據庫連接代碼 } catch (PDOException $e) { echo $e->getMessage(); // 顯示自定義錯誤信息 }
登錄后復制