php錯誤抑制,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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-01 11:06
下一篇 2025-01-01 11:06

相關推薦

發表回復

登錄後才能評論