程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中error與exception的區別及應用,errorexception

php中error與exception的區別及應用,errorexception

編輯:關於PHP編程

php中error與exception的區別及應用,errorexception


error與exception的區別查閱網上資料大多是java的解釋,貌似php的異常處理過程與java差不多

java中的Object繼承結構如下:

Object---->Throwable--------> Exception ----> RuntimeException | Error
Error都是unchecked類型 Exception分為checked 與 unchecked類型
且把異常與錯誤都當作程序運行不正常的現象來看待

如果區分異常與錯誤的話:
異常:非致命的。try{}catche(Exception e){} 執行中的try模塊是測試運行,代碼在運行過程中出現錯誤(非致命錯誤)執行catche
異常的作用類似於下面的這些代碼:

if(mysql_connect('127.0.0.1','root','321321'))
{
   echo '連接數據庫成功';
   // other code...
}
else
{
   echo '連接數據庫錯誤';
   return false;
}

使用異常處理的情況可以很輕松的處理異常情況。如下面的代碼可以一次性處理很多的異常情況

try
{
    mysql_connect('127.0.0.1','root','321321');
    // other code you want to execute
}catche(Exception $e){
    print_r($e);
}

錯誤:致命的。一般都是程序語法錯誤或者用戶級別的提示錯誤

錯誤與異常中都分為 checked與unchecked
checked 是可以讓用戶處理的,unchecked是不能被處理的
php中 Exception ,用戶級別的錯誤可被用戶處理 (client code) 其他的錯誤是不能被用戶處理的
此外,java中還有個 RuntimeException 是不能被用戶處理的。這個是運行級別的異常


error與exception的不同?

error 表示恢復不是不可能但很困難的情況下的一種嚴重問題。比如說內存溢出。不可能指望程序能處理這樣的情況。

exception 表示一種設計或實現問題。也就是說,它表示如果程序運行正常,從不會發生的情況。

這是面試題目的專業回答。
 

error與exception有什不同?

error 表示恢復不是不可能但很困難的情況下的一種嚴重問題。比如說內存溢出。不可能指望程序能處理這樣的情況。 exception 表示一種設計或實現問題。也就是說,它表示如果程序運行正常,從不會發生的情況。
 

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