php中的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  是不能被用戶處理的 這是運行級別的異常

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章