php錯誤控制運算符

伊谢尔伦
發布: 2016-11-24 13:29:15
原創
1662 人瀏覽過

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

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

如果啟動了 track_errors 特性,則表達式產生的任何錯誤訊息都被存放在變數 $php_errormsg 中。此變數在每次出錯時都會被覆蓋,所以如果想用它的話就要儘早檢查。

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

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

Warning

[email protected]��[email protected]�[email protected]��來抑制錯誤訊息,那腳本會沒有任何跡象顯示原因而死在那裡。


相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板