本文目錄一覽:
- 1、php中@符號是什麼意思?
- 2、如何有效的屏蔽掉PHP警告和錯誤提示
- 3、php的錯誤控制運算符是不是相當於java的異常
- 4、php中 錯誤抑制運算符 怎麼顯示變量未定義錯誤
- 5、如何讓php程序不報錯
- 6、怎樣設置php不顯示錯誤
php中@符號是什麼意思?
你好:\x0d\x0a@在PHP中叫錯誤抑制符,也就是用來屏蔽錯誤的。\x0d\x0a@之後的表達式如果出錯誤,是不提示錯誤信息的,如果不加@出錯之後一般是會在瀏覽器中顯示錯誤信息,加上之後瀏覽器中就不顯示錯誤信息了。\x0d\x0a你可以嘗試下,看看加與不加的區別。
如何有效的屏蔽掉PHP警告和錯誤提示
方法一、在有可能出錯的函數前加@,然後or die(“”)
如:
@mysql_connect(…) or die(“Database Connect Error”)
屏蔽PHP錯誤提示方法二、編輯php.ini ,查找”display_errors =” ,將「=」後面的值改為”off。
屏蔽PHP錯誤提示方法三、在php腳本前加error_reporting(0),屏蔽所有錯誤提示。
error_reporting
配置錯誤信息回報的等級。
語法: int error_reporting(int [level]);
返回值: 整數
函數種類: PHP 系統功能
屏蔽PHP錯誤提示函數內容說明
本函數用來配置錯誤信息回報的等級,參數 level 是一個整數的位遮罩 (bitmask),見下表。
遮罩值 表示名稱
E_ERROR
E_WARNING
E_PARSE
E_NOTICE
E_CORE_ERROR
E_CORE_WARNING
E_NOTICE 表示一般情形不記錄,只有程序有錯誤情形時才用到,例如企圖存取一個不存在的變量,或是呼叫 stat() 函數檢視不存在的文件。
E_WARNING 通常都會顯示出來,但不會中斷程序的執行。這對除錯很有效。例如:用有問題的正則表達式呼叫 ereg()。
E_ERROR 通常會顯示出來,亦會中斷程序執行。意即用這個遮罩無法追查到內存配置或其它的錯誤。
E_PARSE 從語法中解析錯誤。
E_CORE_ERROR 類似 E_ERROR,但不包括 PHP 核心造成的錯誤。
E_CORE_WARNING 類似 E_WARNING,但不包括 PHP 核心錯誤警告。
error_reporting( 7 ) = error_reporting( 1+2+4) = error_reporting(E_ERROR | E_WARING | E_PARSE)
以上就是屏蔽PHP錯誤提示的相關實現方法。
如何有效實現
php的錯誤控制運算符是不是相當於java的異常
不是,@是錯誤抑制符號,本質是在生成的opcode中增加begin_silence將錯誤屏蔽,
php的異常處理也是try throw catch,php有個Exception基類。
//自定義的異常類,繼承了PHP的異常基類Exception
class MyException extends Exception {
function getInfo() {
return ‘自定義錯誤信息’;
}
}
try {
//使用異常的函數應該位於 “try” 代碼塊內。如果沒有觸發異常,則代碼將照常繼續執行。但是如果異常被觸發,會拋出一個異常。
throw new MyException(‘error’);//這裡規定如何觸發異常。注意:每一個 “throw” 必須對應至少一個 “catch”,當然可以對應多個”catch”
} catch(Exception $e) {//”catch” 代碼塊會捕獲異常,並創建一個包含異常信息的對象
echo $e-getInfo();//獲取自定義的異常信息
echo $e-getMessage();//獲取繼承自基類的getMessage信息
}
php中 錯誤抑制運算符 怎麼顯示變量未定義錯誤
夢行回答PHP 支持一個錯誤控制運算符:@。當將其放置在一個 PHP 表達式之前,該表達式可能產生的任何錯誤信息都被忽略掉。
如果激活了 track_errors 特性,表達式所產生的任何錯誤信息都被存放在變量 $php_errormsg 中。此變量在每次出錯時都會被覆蓋,所以如果想用它的話就要儘早檢查。
當將@放在一個PHP表達式之前時,這個表達式可能產生的任何警告信息都將被忽略掉。但是使用 錯誤控制運算符@是需要注意,它只對表達式有效。說得容易懂一點就是:如果從一個地方得到了一個值,我們就可以將@話在它的前面。比方說,把@話在變量、常量和函數調用的前面。值得大家注意的是,不能把這個錯誤控制運算符@放在函數或者是類的定義之前,也不可以用在條件結構等。
如何讓php程序不報錯
讓PHP不報錯的方法是修改PHP.INI,裏面有下面一行:
display_errors
=
On
修改為:
display_errors
=
Off
不過我還是建議你修改程序,不要出錯,否則以後程序遇到問題就麻煩了。
在錯誤的語句前加一個「@」!屏蔽錯誤!
try{
@file_get_contents(‘baidu.com’);
}catch(Exception
$e){}
try錯誤,然後不處理
@是抑制錯誤,放在函數前
怎樣設置php不顯示錯誤
在php代碼中直接使用:
error_reporting(E_ALL
~E_NOTICE);
可以解決這個問題,小技巧。
或者:ini_set(“error_reporting”,”E_ALL
~E_NOTICE”);
或者在php.ini這個配置文件中搜索display_errors
=
on改為off。
或者在語句前使用@屏蔽錯誤。
很全面,原創,求採納。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/304940.html