国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP中使用register_shutdown_function函數截獲fatal error示例

2024-05-04 23:34:36
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP中使用register_shutdown_function函數截獲fatal error示例,需要的朋友可以參考下
 

我們在做項目時,偶爾會因為不謹慎而出現fatal error。如果display_errors設置成off,那用戶將會看到的是一個空白的頁面。若設置成了on,那fatal error的信息將會呈現出來(當然正常的人都不會這樣干)。

那我們有什么方法可以提前截獲到fatal error,并用我們自己自定義的友好形式反饋給用戶呢。PHP中有一個叫做  register_shutdown_function 的函數,可以讓我們設置一個當執行關閉時可以被調用的另一個函數.也就是說當我們的腳本執行完成或意外死掉導致PHP執行即將關閉時,這個函數將會被調用。
下面請看一個例子:

復制代碼代碼如下:

<?php
$flag = false;
function deal_error(){
    global $flag;
    if (!$flag){
        die("粗問題啦,請稍后再試");
    }
    return false;
}
register_shutdown_function("deal_error");
//將因為致命錯誤而失敗
//$obj = new NotExistClass(); //引入未定義的類
require('./test.php');
$flag = true;

我們在程序入口處,設置flag為false,最后設置成true,表明程序正常執行。若flag最后不為true,說明在中間某個地方死掉了,此時就會調用register_shutdown_function,輸出我們自定義的錯誤結果。

 

如上面的類未定義、引入不存在的文件(必須使用require或require_once)等會導致fatal error。當然,要是你程序是缺個標點或者多了個特殊字符啥的,那就沒辦法了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 财经| 玉树县| 景谷| 东源县| 全椒县| 密云县| 仙居县| 赤峰市| 当涂县| 鸡西市| 盐池县| 吉林省| 太仓市| 响水县| 淳化县| 漳平市| 乌拉特前旗| 麦盖提县| 福安市| 阜平县| 长汀县| 徐闻县| 台中县| 阜宁县| 龙游县| 兰西县| 青阳县| 都匀市| 道孚县| 韶关市| 汽车| 政和县| 遂川县| 集安市| 区。| 象州县| 柳河县| 乌拉特前旗| 宝鸡市| 永宁县| 保靖县|