PHP 錯誤處理
PHP 錯誤處理
在建立指令碼和 Web 應用程式時,錯誤處理是一個重要的部分。如果您的程式碼缺少錯誤檢測編碼,那麼程式看上去很不專業,也為安全風險敞開了大門。
本教程介紹了 PHP 中一些最為重要的錯誤檢測方法。
我們將為您講解不同的錯誤處理方法:
簡單的 "die()" 語句
自定義錯誤和錯誤觸發器
錯誤報告
基本的錯誤處理:使用 die() 函式
第一個例項展示了一個開啟文字檔案的簡單指令碼:
<?php$file=fopen("welcome.txt","r");?>
如果檔案不存在,您會得到類似這樣的錯誤:
Warning: fopen(welcome.txt) [function.fopen]: failed to open stream:No such file or directory in C:webfoldertest.php on line 2
為了避免使用者得到類似上面的錯誤訊息,我們在訪問檔案之前檢測該檔案是否存在:
<?phpif(!file_exists("welcome.txt"))
{die("File not found");
}else{$file=fopen("welcome.txt","r");
}?>
現在,如果檔案不存在,您會得到類似這樣的錯誤訊息:
File not found
相比之前的程式碼,上面的程式碼更有效,這是由於它採用了一個簡單的錯誤處理機制在錯誤之後終止了指令碼。
然而,簡單地終止指令碼並不總是恰當的方式。讓我們研究一下用於處理錯誤的備選的 PHP 函式。
建立自定義錯誤處理器
建立一個自定義的錯誤處理器非常簡單。我們很簡單地建立了一個專用函式,可以在 PHP 中發生錯誤時呼叫該函式。
該函式必須有能力處理至少兩個引數 (error level 和 error message),但是可以接受最多五個引數(可選的:file, line-number 和 error context):
語法
error_function(error_level,error_message,error_file,error_line,error_context)
引數
描述
error_level 必需。為使用者定義的錯誤規定錯誤報告級別。必須是一個數字。參見下面的表格:錯誤報告級別。
error_message 必需。為使用者定義的錯誤規定錯誤訊息。
error_file 可選。規定錯誤發生的檔名。
error_line 可選。規定錯誤發生的行號。
error_context 可選。規定一個陣列,包含了當錯誤發生時在用的每個變數以及它們的值。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69926583/viewspace-2683734/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- php錯誤處理PHP
- [php]php錯誤處理機制PHP
- PHP錯誤處理和異常處理PHP
- PHP 核心特性 - 錯誤處理PHP
- 常用模組 PHP 錯誤處理PHP
- 使用PHP錯誤處理 (轉)PHP
- PHP安裝後錯誤處理PHP
- PHP系列(七)PHP錯誤異常處理PHP
- php錯誤與異常處理方法PHP
- 錯誤處理
- PHP異常、錯誤處理機制筆記PHP筆記
- Go 錯誤處理Go
- Swift錯誤處理Swift
- Zabbix錯誤處理
- mysqldump錯誤處理MySql
- 錯誤處理:如何通過 error、deferred、panic 等處理錯誤?Error
- go的錯誤處理Go
- Python錯誤處理Python
- PHP 核心知識點(一)異常和錯誤處理PHP
- IIS配置PHP環境HTTP500錯誤處理方法PHPHTTP
- 異常錯誤資訊處理
- laravel9 錯誤處理Laravel
- 淺談前端錯誤處理前端
- Oracle異常錯誤處理Oracle
- ORACLE 異常錯誤處理Oracle
- 15-錯誤處理(Error)Error
- 學習Rust 錯誤處理Rust
- axios 的錯誤處理iOS
- Go語言之錯誤處理Go
- GOLANG錯誤處理最佳方案Golang
- Objective-C:錯誤處理Object
- javascript之處理Ajax錯誤JavaScript
- 搭建dataguard時,錯誤處理
- Oracle錯誤處理思路(一)Oracle
- COM的錯誤處理 (轉)
- openGauss 處理錯誤表
- Python錯誤處理和異常處理(二)Python
- 【故障處理】CRS-1153錯誤處理