程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php錯誤處理以及php的異常處理機制

php錯誤處理以及php的異常處理機制

編輯:PHP綜合

php錯誤處理

當我們開發程序時,有時候程序出現了問題,我們就可以用以下幾種辦法找出錯誤。

開發階段:開發時輸出所有的錯誤報告,有利於我們進行程序調試

運行階段:我們不要讓程序輸出任何一種錯誤報告(不能讓用戶看到(包括懂技術, 不懂技術的人))

將錯誤報告寫入日志中

一、指定錯誤報告 error_reporting = E_LL

二、關閉錯誤輸出 display_errors = Off

三、開啟錯誤日志功能 log_errors = On

1. 默認如果不指定錯誤日志位置,則默認寫WEB服務器的日志中

2. 為error_log選項指定 一個文件名(可寫)

3. 寫入到操作系統日志中error_log=syslog

以下代碼示例

<span style="font-family:SimSun;font-size:14px;"><?php  
//  error_reporting(E_ALL);  
/// ini_set("display_errors", "off");  
//  ini_set("error_log", "syslog");  
//  ini_set("MAX_FILEUPLOAD", 200000000);  
//  echo ini_get("upload_max_filesize");  
//  error_log("this is a error message!!!!");  
    getType($var);   //注意  
    getType();  //警告  
    getTye();  //錯誤  會終止程序運行  
    echo "###########################<br>";   
?></span>

當然php還提供了函數error_get_last()來獲得錯誤信息函數定義和用法

error_get_last()函數獲取最後發生的錯誤。

該函數以數組的形式返回最後發生的錯誤。

返回的數組包含 4 個鍵和值:

[type] - 錯誤類型

[message] - 錯誤消息

[file] - 發生錯誤所在的文件

[line] - 發生錯誤所在的

小例子:

<span style="font-family:SimSun;font-size:14px;"><?php echo $test; print_r(error_get_last()); ?>輸出:  
Array ( [type] => 8 [message] => Undefined variable: test [file] => D:\www\test.php [line] => 2 )</span>

php5.4以後也提供了PHP預定義變量$php_errormsg

$php_errormsg — 前一個錯誤信息

$php_errormsg 變量包含由 PHP 生成的最新錯誤信息。這個變量只在錯誤發生的作用域內可用,並且要求track_errors 配置項是開啟的(默認是關閉的)。

例子:

<?php  
@strpos();  
echo $php_errormsg;  
?>

會輸出:

Wrong parameter count for strpos()

所以這樣我們也很方便了。。。這樣是不是對調試程序和排查錯誤的時候很有幫助呢?

URL:http://www.bianceng.cn/webkf/PHP/201410/45958.htm

這些錯誤報告級別是錯誤處理程序旨在處理的錯誤的不同的類型:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved