Python中的try...except...finally
try, except, finally是Python中的異常捕捉機制,通常的用法就是try..except...結合起來用,程式捕捉try語句塊中的異常,如果發現異常就把異常交給except中的語句塊進行處理,也就是執行except中的語句,這裡except也可以結合if...else一起使用。
當然,try...except也可以結合finally使用。則將finally放在最後,finally語句塊的內容通常是做一些後事的處理,比如資源釋放什麼的,並且finally語句塊是無論如何都要執行的,即使在前面的try和except語句塊中出現了return,都現將finally語句執行完再去執行前面的return語句。下面看一個簡單的例子:
try.py
def tryTest():
try:
den = input("input a number:")
x = 1.0/int(den)
print x
return 1
except Exception, e:
print e
return 0
finally:
print "this is a finally test"
result = tryTest()
print result
執行try.py
當輸入為1時,程式沒有捕捉到異常,則返回值為1,但是在返回之前會執行finally的語句塊,也即是列印“this is a finally test”這句話,如下圖:
當輸入為0時,程式沒有捕捉到除0異常,執行except中的語句塊,則返回值為0,但是在返回之前會執行finally的語句塊,如下圖:
所以無論如何finally語句塊中的程式碼都被執行了,倘若此時finally中有個return語句的話,那麼整個函式就會從finally中的return語句中返回,前面的return語句就沒用啦。
相關推薦
python中try Except拋出異常使用方法
構造 自己的 ^c 輸出 mage fin floating 輸入 使用方法 對於python自動化測試同學來講try的作用太大了。 我們要保證每條用例都能得到我們預期並在測試報告中給出正確的pass或fail的結果 就可以通過try語句來很好的實現,並且能保證這個pass
python中try except處理程式異常的三種常用方法
轉載自:http://www.pythontab.com/html/2013/pythonjichu_0204/210.html 如果你在寫python程式時遇到異常後想進行如下處理的話,一般用try來處理異常,假設有下面的一段程式: 1 2 3 4 5 6 7 8 try:
Python中的try...except...finally
try, except, finally是Python中的異常捕捉機制,通常的用法就是try..except...結合起來用,程式捕捉try語句塊中的異常,如果發現異常就把異常交給except中的語句塊進行處理,也就是執行except中的語句,這裡except也可以結合if
python 錯誤處理:try..except..finally / logging / raise
mono num last str ast onos logging word ria python錯誤繼承表:https://docs.python.org/3/library/exceptions.html#exception-hierarchy格式:def 函數():
011 python語法_錯誤處理 try except finally raise
''' 時間:2018/11/03 目錄: 一: 正常執行 1 正常 2 else 二: 發生錯誤 1 異常 2 異常 三: BaseException 四: 多層錯誤 - 多層
python try/except/finally詳解
try/except介紹 與其他語言相同,在python中,try/except語句主要是用於處理程式正常執行過程中出現的一些異常情況,如語法錯(python作為指令碼語言沒有編譯的環節,在執行過程中對語法進行檢測,出錯後發出異常訊息)、資料除零錯誤、從未定義的
Python異常處理try...except...finally raise assert
異常處理: try ...except try程式碼塊放置容易發生異常的語句:except程式碼塊放置處理異常的語句 try ...except...finally finally程式碼快是任何時候
python 中try 和except的用法
#try表示去開啟一個網頁,看是否有錯誤,注意Exception的書寫 #覺得例子是爬豆瓣網5次 import re import urllib.request for i in range(1,5): try: file = urllib.req
python try except finally 順序
# encoding:utf-8 import traceback def printException(e):
python 中 try...finally... 的優雅實現
### 1. 關於 try.. finally.. 假如上帝用 python 為每一個來到世界的生物編寫程式,那麼除去中間過程的種種複雜實現,最不可避免的就是要保證每個例項最後都要掛掉。程式碼可簡寫如下: ```py try: born() # 出生 # 正常降臨世界 # do
異常處理中try,else,finally含有return的情況解析
直接 若有 函數 pan 到你 異常 fin 運行 但是 直接看代碼,拿到你的py下運行測試一下就 明白了. 例一: def f(): try: print(1) return 3 f
Java中 try--catch-- finally、throw、throws 的用法
一、try {..} catch {..}finally {..}用法 try { 執行的程式碼,其中可能有異常。一旦發現異常,則立即跳到catch執行。否則不會執行catch裡面的內容 } catch (Exception e) { 除非try裡面執行程式碼發生了異常,否則這裡的程式碼不會執行 }
Python中try異常的小案例
程式碼 try: file = open('gxs.txt','r+') except Exception as e: print('沒有發現名字為gxs的檔案') response = input('你是否想建立一個,y/n \n') if resp
Java中try catch finally 中有異常和return時處理先後
public class TestDemo { private static String output = ""; public static void foo(int i) { try { if (i == 1) { throw new Exception(); }
Python使用try...except...輸出詳細錯誤
當Python的語段用了try...except...方式之後,就一直不太知道怎麼定位到詳細的程式crush 位置,這兩天程式需要用到這方面,於是就查了一下。 需要使用traceback包 import traceback try: #以除0錯誤為例 3/
Java中try catch finally語句中含return語句的執行情況總結-程式設計陷阱
前言:有java程式設計基礎的人對java的異常處理機制都會有一定了解,而且可能感覺使用起來也比較簡單,但如果在try catch finally語句塊中遇到return語句,開發者可能就會遇到一些邏輯問題,甚至步入程式設計的陷阱。不信,我們先看看一段小程式,讀
java中try,catch,finally的合理應用
try {try { code that might throw exceptions } finally { code that might throw exceptions }} catch (Exception e) { show error dialog}
Java異常處理中try,catch,finally的各種組合用法
1.try+catch 程式的流程是:執行到try塊中,如果有異常丟擲,則轉到catch塊去處理。然後執行catch塊後面的語句 2.try+catch+finally 程式的流程是:執行到try
java 中try catch finally 的具體執行順序返回結果+程式碼測試
執行順序的重點就在finally中,具體如下: (1)、try:它裡面放置可能引發異常的程式碼(2)、catch:後面對應異常型別和一個程式碼塊,用於表明該catch塊用於處理這種型別的程式碼塊,可以
python_python中try except處理程式異常的三種常用方法
python中try except處理程式異常的三種常用方法 如果你在寫python程式時遇到異常後想進行如下處理的話,一般用try來處理異常,假設有下面的一段程式: 1 2 3 4 5 6 7 8 try: 語句1 語句2 . .