PHP 處理異常 和 Python 處理異常 的區別
阿新 • • 發佈:2018-11-03
PHP 處理異常 和 Python 處理異常
一、PHP捕獲異常
1.PHP 錯誤型別
級別常量 |
錯誤報告描述 |
E_ERROR |
致命的執行時錯誤(它會阻止指令碼的執行) |
E_WARNING |
執行時警告(非致命的錯誤) |
E_PARSE |
從語法中解析錯誤 |
E_NOTICE |
執行時注意訊息(可能是或者可能不是一個問題) |
E_CORE_ERROR |
類似E_ERROR,但不包括PHP核心造成的錯誤 |
E_CORE_WARNING |
類似E_WARNING,但不包括PHP核心錯誤警告 |
E_COMPILE_ERROR |
致命的編譯時錯誤 |
E_COMPILE_WARNING |
致命的編譯時警告 |
E_USER_ERROR |
使用者導致的錯誤訊息 |
E_USER_WARNING |
使用者導致的警告 |
E_USER_NOTICE |
使用者導致的注意訊息 |
E_ALL |
所有的錯誤、警告和注意 |
E_STRICT |
關於PHP版本移植的相容性和互操作性建議 |
屬於異常範圍:在指定的錯誤(異常)情況發生時改變指令碼的正常流程
2.PHP 例子
// 建立 關聯陣列
$_associative_array_one = array();
// 刪除 關聯陣列
unset($_associative_array_one);
// 因為 "變數引用不存在" 不會改變指令碼正常執行 屬於 警告E_NOTICE 不屬於 異常範圍
// 所以 使用 if 強行觸發異常
function _is_set($a){
if(!isset($a)){
throw new Exception('關聯陣列不存在');
}
}
// try 判斷語句 是否 能 觸發異常
try {
_is_set($_associative_array_one);
}
// catch 捕捉異常 退出
catch (Exception $e){
echo 'Message: '.$e->getMessage();
return;
}
// 如沒異常 繼續執行程式碼
echo "無異常";
二、Python 捕獲異常
大概功能類似,直接給例子
1.Python例子
# python 捕獲異常
try:
判斷是否異常語句
except Exception as e:
若捕捉異常,執行這
else:
若無異常,執行這
finally:
不管是否異常,都執行