38 PHP 錯誤與異常處理 2

2021-09-30 13:25:20 字數 3217 閱讀 6721

錯誤型別:

1.語法錯誤

2.環境錯誤

3.邏輯錯誤(比較難排查),比如本來是用==,變成用賦值 = // 用單元測試

php 錯誤級別

1. deprecated 最低級別錯誤

2. notice 通知級別錯誤

header('content-type:text/html;charset=utf-8');

echo

$king;

echo

'程式繼續執行';

'程式繼續執行';

3. warning 警告級別錯誤

settype($var,'int');

var_dump($var);

echo

'程式繼續執行';

'程式繼續執行';

4. fatal error 級別錯誤

echo md6('king');

echo

'程式繼續執行';

5. parse error 錯誤

最高端別的錯誤,其他有錯還看不到。

echo

'aaaa'

echo md6('king');

echo

'程式繼續執行';

6. e_user_相關的錯誤

與使用者丟擲的錯誤有關。
7. php 配置檔案中與錯誤相關的選項錯誤模組:

設定錯誤級別:

1.通過配置檔案設定:

儲存後重啟伺服器。

2.通過動態函式設定

echo error_reporting();//當前錯誤級別常量,32767

echo

'';//顯示所有錯誤

error_reporting(e_all);//32767

//error_reporting(e_all&~e_notice)

echo error_reporting(e_all);

//error_reporting(0);//相當於關閉錯誤提示,但遮蔽不了解析錯誤

error_reporting(-1);//顯示所有錯誤

echo

$king;

echo

'程式繼續執行';

3.通過執行時設定配置選項的值

ini_set('error_reporting',0);//代表不顯示我們的錯誤

ini_set('error_reporting',-1);//代表顯示所有錯誤

ini_set('display_errors',0);//關閉顯示

echo

$king;

echo

'程式繼續執行';

是否顯示錯誤:內嵌到指令碼中,部署到線上要關閉

error_reporting(-1);//顯示所有錯誤

@settype($var,'king');

//@遮蔽錯誤

8. trigger_error(『錯誤資訊』,』錯誤級別』)觸發錯誤

類似於die();

$num1 = 1;

$num2 = '2a';

if(!(is_numeric($num1) && is_numeric($num2)))

else

echo

'程式繼續執行';

PHP錯誤與異常處理

和其他程式語言遇到錯誤就丟擲異常不一樣,php在處理物件時它也有異常機制,但是php會盡可能的愉快的去執行而無視發生的事情,除非遇到乙個極端嚴重錯誤才會丟擲異常。本文概述php相關的錯誤異常處理機制。錯誤等級 php 有幾個錯誤嚴重性等級。三個最常見的的資訊型別是錯誤 error 通知 notice...

php 不丟擲異常 php錯誤與異常處理

php與其他計算機程式語言在遇到錯誤就丟擲異常不太一樣,php在處理物件時它也有異常機制,但是php會盡可能的愉快的去執行而無視發生的事情,除非遇到乙個極端嚴重錯誤才會丟擲異常。本文主要給大家分享php相關的錯誤異常處理機制。錯誤等級 php 有幾個錯誤嚴重性等級。三個最常見的的資訊型別是錯誤 er...

PHP 錯誤與異常處理 一

異常與錯誤 以上是php中錯誤和異常的乙個概念,php中任何自身的錯誤或者是非正常的 都會當做錯誤對待,並不會以異常的形式丟擲,但是也有一些情況會當做異常和錯誤同時丟擲。也就是說,你想在資料庫連線失敗的時候自動捕獲異常是行不通的,因為這就不是異常,是錯誤。要做錯誤處理,必須得明細錯誤級別 fatal...