PHP面向對象錯誤處理筆記

PHP處理錯誤的方式:
1.簡單的die()語句:die1.php 中的兩種語法方式
2.自定義錯誤和錯誤觸發器 error2.php
錯誤處理器(處理系統錯誤):自定義函數來處理錯誤,錯誤在PHP中對錯誤有級別區分
錯誤觸發器(處理邏輯上的錯誤):假如有一段代碼,它是來接收年齡,如果認爲年齡大於120,就認爲是一個錯誤:error3.php
3.錯誤日誌

  • 簡單的die()語句:die1.php
<?php
//***************die的使用方式
    if (!file_exists(aaa.txt)){
        die("文件不存在");
    }else {
        //打開文件
    }

//或者這樣用

    file_exists(aaa.txt) or die("文件不存在!!!"); 
    echo "ok";

—————————————————————————————

  • 自定義錯誤和錯誤觸發器:error2.php
<?php

    //模擬出錯
//沒有分號:Parse error: syntax error, unexpected '$i' (T_VARIABLE)
    //$i=60
    //$i=$i+45;
    //echo $i;

//文件打開錯誤:Warning: fopen(aaatxt): failed to open stream
//warning錯誤,代碼會繼續執行
    //$fp=fopen(aaa.txt, r);
    //echo "ok";

//定義了一個函數
//回顯效果: 錯誤號是:2
//          錯誤信息:fopen(aaatxt): failed to open stream: No such file or directory
function my_error($errorNo,$errorMSG){
    echo "錯誤號是:$errorNo".'<br>';
    echo "錯誤信息:$errorMSG";
    exit();
}
set_error_handler("my_error",E_WARNING);
$fp=fopen(aaa.txt, r);

————————————————————————

  • 錯誤日誌&錯誤觸發器:error3.php
<?php

    //自定義錯誤函數
    function my_error1($errorNo, $errorMSG){
        $err_info="錯誤號.$errorNo";
        echo $err_info;
        //保存錯誤信息
        error_log($err_info."\n\r",3,"my_err.txt");
    }
    //指定錯誤級別,保存相對路徑
    set_error_handler("my_error1",E_USER_WARNING);


    $age=700;
    if ($age>100){
        //調用觸發器,同時指定錯誤級別
        trigger_error("年齡過大,無效",E_USER_WARNING);
        //exit();
    }

——————————————————————

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章