異常:
程式在執行的時候,正常情況下不會出問題,但是在一些特殊的情況它會出現問題!
異常處理:
我們可以通過php的異常處理機制來妥善的處理這些異常
要想捕獲丟擲的異常,必須使用下面的語句結構
php為我們提供了現成的異常處理exception
trycatch(exception $e){
如果上面丟擲異常物件,那麼就會跳到這邊來執行
$e 這個物件裡面有很多成員供我們使用
getcode( ) 返回接收到的異常代號
getmessage( ) 返回接收到的異常資訊
getprevious( ) 返回異常鏈中的前乙個異常
getfile( ) 返回發生異常的檔名
getline( ) 返回發生異常的**行數
gettrace( ) 獲取異常追蹤資訊(儲存了檔名、行號等資料的陣列)
gettraceasstring( ) 獲取字串型別的異常追蹤資訊
_tostring( ) 將異常物件轉換為字串
...繼續執行
注:1. 如果乙個異常沒有**獲,php會產生乙個致命錯誤並且報出「未捕獲的異常...」資訊,除非設定乙個使用者定義的異常函式
使用者定義的異常處理函式:
set_exception_handler(callable $exception_handler)
2. 當乙個異常被丟擲,try裡面之後的語句**不會繼續執行,php會嘗試找到能與之匹配的catch
3. 丟擲的異常會一層層的傳到最初執行的**那邊(如果中間沒**獲的話)
4. 每個try都必須至少有乙個相應的catch或finally塊
5. 當exception類不夠用的時候,我們完全可以擴充套件他(繼承)
6. 丟擲物件必須是異常類(exception)的乙個例項或異常的子類的例項
錯誤:
無論什麼情況它都是錯誤
python學習day21 包 異常處理
包 包的本質就是乙個包含 init py檔案的目錄 在python3中,即使包下沒有 init py檔案,import 包仍然不會報錯,而在python2中,包下一定要有該檔案,否則import 包報錯 凡是在匯入時帶點的,點的左邊都必須是乙個包 如果不想在匯入模組時打很多點,可以新增路徑 檢視可匯...
struts 異常處理 全域性異常處理
記錄一下全域性異常處理的過程 處理主動丟擲的異常,轉向錯誤提示頁面。1 寫乙個自己的異常,繼承runtimeexception,從父類生成構造方法 package me.yndy.srtp.exception suppresswarnings serial public class errorexc...
python異常處理 Python 異常處理
使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...