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
- 錯誤處理
- Go 錯誤處理Go
- Python錯誤處理Python
- 錯誤處理:如何通過 error、deferred、panic 等處理錯誤?Error
- PHP 核心知識點(一)異常和錯誤處理PHP
- openGauss 處理錯誤表
- go的錯誤處理Go
- axios 的錯誤處理iOS
- Python錯誤處理和異常處理(二)Python
- grpc中的錯誤處理RPC
- laravel9 錯誤處理Laravel
- 15-錯誤處理(Error)Error
- Go語言之錯誤處理Go
- 學習Rust 錯誤處理Rust
- Oracle異常錯誤處理Oracle
- 淺談前端錯誤處理前端
- ORACLE 異常錯誤處理Oracle
- rust學習十、異常處理(錯誤處理)Rust
- go 錯誤處理設計思考Go
- Golang通脈之錯誤處理Golang
- Restful API 中的錯誤處理RESTAPI
- 請教 Element 的錯誤處理
- 異常錯誤資訊處理
- ORA-01591錯誤故障處理
- 程式錯誤型別及其處理型別
- oracle ora-00054錯誤處理Oracle
- node端統一錯誤處理
- node錯誤處理與日誌
- [轉] Scala Try 與錯誤處理
- js錯誤處理權威指北JS
- [譯] 使用 Catcher 處理 Flutter 錯誤Flutter
- 如何處理錯誤訊息PleaseinstalltheLinuxkernelheaderfilesLinuxHeader
- 【譯】RxJava 中的錯誤處理RxJava