python的exceptelse
1. python 對異常與錯誤的處理策略,用 try...except,還是 if...else...,哪種比較好
如果確定知道是什麼錯誤,可以用if...else,如果不是很確定,就用try...except
2. Python中異常語句
else語句在任何情況下都會運行;
這是Python的異常控制語句:try。。except。。else
else是不管try語句塊是否正常,都會被執行,它的目地是保證在出錯或者正常的情況下,釋放資源或者保證數據不會破壞。
3. Python新手,Python中except的用法和作用是什麼請指教
except是用來處理異常的。完整舉例說明:try:# 使用raise拋出異常raise IndexError("下標越界")except IndexError as e:pass #這里可以恢復代碼except (TypeError, NameError):pass # 很多別的異常可以在這里處理else: # 可選,其他異常blocksprint("All good!") # 沒有異常情況finally: # 無論如何都會執行的print("這里執行所有的代碼,無論是否有異常")
4. python except中的e是什麼意思
這個e是異常類的一個實例,如果我們完整地解釋這個問題,我覺得還是從Python的自定義異常類說起比較好。
假如,我們現在自定義一個簡單的異常類:
class MyError(Exception):
def __init__(self, value):
self.value = value
def __str__(self):
return repr(self.value)
我們拋這個異常的時候可以這么寫:
try:
raise MyError(2*2)
except MyError as e:
print 'My exception occurred, value:', e.value
我們在捕獲這個異常之後假如需要訪問TA的一些屬性怎麼辦,這個時候就可以使用as關鍵字
所以,這里的e是前面MyError類的一個instance,我們可以直接訪問他的value,也就是你看到的e.value
5. Python異常處理知識點匯總,五分鍾就能學會
什麼是異常?
1.錯誤
從軟體方面來說,錯誤是語法或是邏輯上的。錯誤是語法或是邏輯上的。
語法錯誤指示軟體的結構上有錯誤,導致不能被解釋器解釋或編譯器無法編譯。這些些錯誤必須在程序執行前糾正。
當程序的語法正確後,剩下的就是邏輯錯誤了。邏輯錯誤可能是由於不完整或是不合法的輸入所致;
在其它情況下,還可能是邏輯無法生成、計算、或是輸出結果需要的過程無法執行。這些錯誤通常分別被稱為域錯誤和范圍錯誤。
當python檢測到一個錯誤時,python解釋器就會指出當前流已經無法繼續執行下去。這時候就出現了異常。
2.異常
對異常的最好描述是:它是因為程序出現了錯誤而在正常控制流以外採取的行為。
這個行為又分為兩個階段:首先是引起異常發生的錯誤,然後是檢測(和採取可能的措施)階段。
第一階段是在發生了一個異常條件(有時候也叫做例外的條件)後發生的。
只要檢測到錯誤並且意識到異常條件,解釋器就會發生一個異常。引發也可以叫做觸發,拋出或者生成。解釋器通過它通知當前控制流有錯誤發生。
python也允許程序員自己引發異常。無論是python解釋器還是程序員引發的,異常就是錯誤發生的信號。
當前流將被打斷,用來處理這個錯誤並採取相應的操作。這就是第二階段。
對於異常的處理發生在第二階段,異常引發後,可以調用很多不同的操作。
可以是忽略錯誤(記錄錯誤但不採取任何措施,採取補救措施後終止程序。)或是減輕問題的影響後設法繼續執行程序。
所有的這些操作都代表一種繼續,或是控制的分支。關鍵是程序員在錯誤發生時可以指示程序如何執行。
python用異常對象(exception object)來表示異常。遇到錯誤後,會引發異常。
如果異常對象並未被處理或捕捉,程序就會用所謂的回溯(traceback)終止執行
異常處理
捕捉異常可以使用try/except語句。
try/except語句用來檢測try語句塊中的錯誤,從而讓except語句捕獲異常信息並處理。
如果你不想在異常發生時結束你的程序,只需在try里捕獲它。
語法:
以下為簡單的try....except...else的語法:
Try的工作原理是,當開始一個try語句後,python就在當前程序的上下文中作標記,這樣當異常出現時就可以回到這里,try子句先執行,接下來會發生什麼依賴於執行時是否出現異常。
如果當try後的語句執行時發生異常,python就跳回到try並執行第一個匹配該異常的except子句,異常處理完畢,控制流就通過整個try語句(除非在處理異常時又引發新的異常)。
如果在try後的語句里發生了異常,卻沒有匹配的except子句,異常將被遞交到上層的try,或者到程序的最上層(這樣將結束程序,並列印預設的出錯信息)。
如果在try子句執行時沒有發生異常,python將執行else語句後的語句(如果有else的話),然後控制流通過整個try語句。
使用except而不帶任何異常類型
可以不帶任何異常類型使用except,如下實例:
以上方式try-except語句捕獲所有發生的異常。但這不是一個很好的方式,我們不能通過該程序識別出具體的異常信息。因為它捕獲所有的異常。
6. Python有哪些種類
Python有哪些種類?
1、數值型(Numbers)
2、布爾型(Booleans)
3、字元串(String)
4、Python容器
要快速學會Python,謹記『3個』『4類』『5大』『6種』這四個數字就可以了。
三個基本概念
1. 結構化(函數、模塊、包)
2. 面向對象(類及派生類、重載)
3. 虛擬環境(版本管理、環境隔離)
四類基本操作
1. 數據操作(各種數據類型的操作)
2. 文件操作(文件打開讀寫關閉等操作)
3. 模塊操作(導入使用、模塊查尋等操作)
4.並發操作(進程與線程、鎖/信號號/安全隊列等)
五大基本語句(5)
1. 賦值語句(變數、對象、賦值運算符)
2. 輸入輸出語句(print, input函數)
3. 條件判斷語句(if-elif-else語句)
4. 循環語句(遍歷循環for-in-else、條件循環while-else、break/continue)
5. 異常處理語句(try-except-else-finally)
六種數據類型(6)
1. 數字類型(int,bool,float,complex)
2. 字元串(str)
3. 列表(list)
4. 元組(tuple)
5. 字典(dict)
6. 集合(set)
如果你能夠把上面的幾個要點都掌握了,那麼就算是真正地入門了。
7. python在哪些控制結構中使用else保留字
python只有if語句使用else。if語句是指編程語言(包括c語言、C#、VB、java、匯編語言等)中用來判定所給定的條件是否滿足,根據判定的結果(真或假)決定執行給出的兩種操作之一。
if語句中的「表達式」可以是關系表達式、邏輯表達式,甚至是數值表達式。其中最直觀、最容易理解的是關系表達式。所謂關系表達式就是兩個數值進行比較的式子。
(7)python的exceptelse擴展閱讀:
if-else 語句引入了一種二義性問題稱為空懸else (dangling-else) 問題,這種問題出現在當if 子句多於else 子句時。問題是這些else 子句分別和哪一個if 子句匹配。
程序的縮進形式表明程序員相信else 應該與最外面的if 子句匹配,然而在C++中空懸else 二義性由以下規定來解決:else 子句與最後出現的未被匹配的if 子句相匹配。
8. 如果Python中if與else不在同一縮進,有什麼意義
這里的else語句,其實可以看作for循環正常結束(即沒有被break終止)的一種獎勵,和try,except,else,finally語句中的else類似。這里的if應該算是個單分支,與後面的else關系不大
9. python3 函數 用 try except finally 和 raise
網路上一些文章(如《PYTHON編程金典讀書筆記》、《PYTHON中的finally》)都講述try finally與try except不能同時使用,若同時使用,就會出現語法錯誤。根據我的調查,這些說法早已不合時宜,如本人撰寫此文對這個說明修正一下:《PYTHON核心編程》第二版提到,自PYTHON 2.5開始,你可以用 finally 子句與 try-except 或 try-except-else 一起使用.下面是 try-except-else-finally 語法的示例: try: A except MyException: B else: C finally: D 等價於 Python 0.9.6 至 2.4.x 中如下的寫法: try: try: A Edit By Vheavens Edit By Vheavens except MyException: B else: C finally: D 歡迎訪問我的小站:程序員的財富理想
10. python中try。。。 except應該怎麼用與if。。。else有什麼差別 print與return又有何差別
try,except使用判斷異常,try後面的語句發生異常就執行except後的語句,而if,else則只是選擇結構。print是輸出,return是函數返回某個對象或值,兩碼事。這些隨便找本教程都有講解的