您的位置:首頁技術文章
文章詳情頁

PHP基礎之運算符6——錯誤控制運算符

瀏覽:3日期:2022-09-14 14:56:39

PHP 支持一個錯誤控制運算符:@。當將其放置在一個 PHP 表達式之前,該表達式可能產生的任何錯誤信息都被忽略掉。

如果用?set_error_handler()?設定了自定義的錯誤處理函數,仍然會被調用,但是此錯誤處理函數可以(并且也應該)調用?error_reporting(),而該函數在出錯語句前有 @ 時將返回 0。

如果激活了?track_errors?特性,表達式所產生的任何錯誤信息都被存放在變量?$php_errormsg?中。此變量在每次出錯時都會被覆蓋,所以如果想用它的話就要盡早檢查。

<?php/*?Intentional?file?error?*/$my_file?=?@file?(’non_existent_file’)?or????die?('Failed?opening?file:?error?was?’$php_errormsg’');//?this?works?for?any?expression,?not?just?functions:$value?=?@$cache[$key];//?will?not?issue?a?notice?if?the?index?$key?doesn’t?exist.?>

Note:?@ 運算符只對表達式有效。對新手來說一個簡單的規則就是:如果能從某處得到值,就能在它前面加上 @ 運算符。例如,可以把它放在變量,函數和?include?調用,常量,等等之前。不能把它放在函數或類的定義之前,也不能用于條件結構例如?if?和?foreach?等。

Warning

目前的“@”錯誤控制運算符前綴甚至使導致腳本終止的嚴重錯誤的錯誤報告也失效。這意味著如果在某個不存在或者敲錯了字母的函數調用前用了“@”來抑制錯誤信息,那腳本會沒有任何跡象顯示原因而死在那里。

標簽: PHP
相關文章:
国产综合久久一区二区三区