php錯誤抑制符,php錯誤控制運算符

本文目錄一覽:

php @這個符號,什麼意思,什麼功能。

它會抑制錯誤消息。

PHP支持一個錯誤控制操作符:at符號(@)。當添加到PHP中的表達式時,該表達式可能生成的任何錯誤消息都將被忽略。

如果已將自定義錯誤處理程序函數設置為SET錯誤處理程序()然後它仍然會被調用,但是這個自定義錯誤處理程序可以(而且應該)調用錯誤報告()當觸發錯誤的調用前面有@.時,它將返回0。

@符號是差錯控制操作者(又稱「沉默」或「關閉」操作員)。它使PHP禁止由關聯表達式生成的任何錯誤消息(注意、警告、致命等)。它的工作原理就像一個一元運算符,例如,它具有優先性和結合性。

擴展資料

錯誤控制運算符顧名思義就是用來控制錯誤輸出,這個控制只是將錯誤信息屏蔽掉,不讓其顯示出來,並不是真正的解決錯誤。

經常在程序中使用某些函數出現一些不必要的錯誤信息時,可以使用該運算符進行屏蔽,前提是這個錯誤信息不影響程序的運行。如果對一些影響程序運算的錯誤,不推薦使用錯誤控制符,這樣不利於消除程序的錯誤。

下面看一下錯誤控制運算符的使用實例:

當打開一個不存在的文件時,用「@」來屏蔽錯誤信息的輸出;

在不使用「@」時;

?php

$open_file = fopen(“index.php”,”r”);

?

會有以下的輸出:

上面是一個警告錯誤信息提示,大致的意思提示我們index.php”這個文件不存在。錯誤信息在第三行…

php中為什麼有時候要加個@符號?

1.隱藏異常

2.對語句可能會出現的異常而又不想顯示出來時使用,比如操作資料庫時

$query=@mysql_query($sql);

3.使用@時,如果出錯則不容易發現錯誤在哪。

php中 錯誤抑制運算符 怎麼顯示變數未定義錯誤

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

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

當將@放在一個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信息

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/151948.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-12 00:53
下一篇 2024-11-12 00:53

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • 條件運算符(?:)是什麼意思?

    條件運算符(?:)是JavaScript中的一種特殊的運算符,也是許多編程語言中相似語法的一部分。它可以允許我們在一個簡單、一行的語句中完成條件判斷和賦值操作,非常方便。 1.語法…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python載入Cookie錯誤解決方法用法介紹

    本文將從多個方面詳細闡述Python載入Cookie錯誤的解決方法,希望能對讀者有所幫助。 一、Cookie錯誤常見原因 1、Cookie過期:當Cookie過期時,載入Cooki…

    編程 2025-04-29
  • Python中賦值運算符和相等運算符解析

    Python是一種高級編程語言,它通常被用於開發 Web 應用程序、人工智慧、數據分析和科學計算。在Python中,賦值運算符和相等運算符是非常常見和基本的運算符,它們也是進行編程…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python中的算數運算符優先順序問題

    本文將從多個方面詳細闡述Python中算數運算符的優先順序問題,並給出對應代碼示例。算數運算符的優先順序指的是在混合運算時,Python自動根據一定的優先順序順序決定哪一個運算符先進行。…

    編程 2025-04-28
  • Treck TCP/IP Stack 輸入驗證錯誤漏洞CVE-2020-11901解析

    本文將對Treck TCP/IP Stack 輸入驗證錯誤漏洞CVE-2020-11901進行詳細解析,並提供相關代碼示例。 一、漏洞背景 Treck TCP/IP Stack是一…

    編程 2025-04-27
  • electron-egg打包後請求地址錯誤解決方法用法介紹

    本文將從多個方面對electron-egg打包後請求地址錯誤進行詳細闡述,並給出解決方法。 一、electron-egg打包後請求地址錯誤的表現 在使用 electron-egg …

    編程 2025-04-27

發表回復

登錄後才能評論