抑制符無(wú)法隱藏致命錯(cuò)誤的原因
在使用數(shù)據(jù)庫(kù)連接時(shí),有時(shí)會(huì)輸錯(cuò)登錄信息。開發(fā)者可能會(huì)使用 if 語(yǔ)句處理錯(cuò)誤,并顯示自定義錯(cuò)誤信息。然而,在這種情況下,即使使用了錯(cuò)誤抑制符 @,系統(tǒng)仍然會(huì)報(bào)告致命錯(cuò)誤。
這可能是由于以下原因:
從 php 8.0 開始,@ 抑制符不再抑制致命錯(cuò)誤。這是因?yàn)橹旅e(cuò)誤會(huì)中斷腳本執(zhí)行,因此無(wú)法通過(guò)抑制符隱藏它們。
因此,為了正確處理錯(cuò)誤,開發(fā)者應(yīng)該使用異常處理程序,而不是 @ 抑制符。異常處理程序可以在腳本執(zhí)行過(guò)程中捕獲錯(cuò)誤,并允許開發(fā)者提供有意義的錯(cuò)誤消息,而不會(huì)中斷腳本執(zhí)行。