當前位置:首頁 » 編程語言 » python的except

python的except

發布時間: 2022-04-12 05:37:24

1. 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

2. python中的try...except的用法

這里的Pickle和cPickle是模塊名稱不能用小寫;cPickle 和 Pickle 是python的兩個模塊,提供了數據持久化的方法,其中cPickle是Pickle的C語言實現。
try:
import cPickle as p # 若能導入cPickle模塊則導入,並以p命名
except:
import Pickle as p # 若導入cPickle模塊導入錯誤,則導入Pickle,並以p命名

3. python大佬們,能不能告訴,while中try, break,except ,到底都是啥意思嗎

while是循環語句,因為有些開發需要,可以讓程序一直執行同一個操作,這就叫循環,而當得到結果不再需要循環時,則用break語句跳出循環,避免程序進入死循環

比如:

補充:

break必須在循環語句里使用,python的循環語句有for和while。

4. python中異常處理的使用方法

8.3. 異常處理
通過編程處理選擇的異常是可行的。看一下下面的例子:它會一直要求用戶輸入,直到輸入一個合法的整數為止,但允許用戶中斷這個程序(使用 Control-C 或系統支持的任何方法)。注意:用戶產生的中斷會引發一個 KeyboardInterrupt 異常。
>>> while True:
... try:
... x = int(input("Please enter a number: "))
... break
... except ValueError:
... print("Oops! That was no valid number. Try again...")
...
try 語句按如下方式工作。
首先,執行 try 子句 (在 try 和 except 關鍵字之間的部分)。
如果沒有異常發生, except 子句 在 try 語句執行完畢後就被忽略了。
如果在 try 子句執行過程中發生了異常,那麼該子句其餘的部分就會被忽略。
如果異常匹配於 except 關鍵字後面指定的異常類型,就執行對應的except子句。然後繼續執行 try 語句之後的代碼。
如果發生了一個異常,在 except 子句中沒有與之匹配的分支,它就會傳遞到上一級 try 語句中。
如果最終仍找不到對應的處理語句,它就成為一個 未處理異常,終止程序運行,顯示提示信息。
一個 try 語句可能包含多個 except 子句,分別指定處理不同的異常。至多隻會有一個分支被執行。異常處理程序只會處理對應的 try 子句中發生的異常,在同一個 try 語句中,其他子句中發生的異常則不做處理。一個 except 子句可以在括弧中列出多個異常的名字,例如:
... except (RuntimeError, TypeError, NameError):
... pass
最後一個 except 子句可以省略異常名稱,以作為通配符使用。你需要慎用此法,因為它會輕易隱藏一個實際的程序錯誤!可以使用這種方法列印一條錯誤信息,然後重新拋出異常(允許調用者處理這個異常):

5. python的try except語句

當Python腳本發生異常時我們需要捕獲處理它,否則程序會終止執行。異常處理捕捉異常可以使用try/except語句。try/except語句用來檢測try語句塊中的錯誤,從而讓except...

例如:

#!/usr/bin/python

#-*-coding:UTF-8-*-

try:

fh=open("testfile","w") #此處的「w」先為「r」


fh.write("這是一個測試文件,用於測試異常!!")

exceptIOError:

print("Error:沒有找到文件或讀取文件失敗")

else:

print("內容寫入文件成功")

fh.close()

6. python3 中的try... except Exception,e: ...怎麼不能用了變成什麼了呢

語法錯誤,應該改成下列語法:

python3 中捕捉異常需要使用try/except語句,具體格式如下:

try:

<語句> #運行別的代碼

except <名字>:

<語句> #如果在try部份引發了'name'異常

except <名字>,<數據>:

<語句> #如果引發了'name'異常,獲得附加的數據

else:<語句> #如果沒有異常發生

編輯如下:

「拓展資料「:

try的工作原理是,當開始一個try語句後,python就在當前程序的上下文中作標記,這樣當異常出現時就可以回到這里,try子句先執行,接下來會發生什麼依賴於執行時是否出現異常。

  • 如果當try後的語句執行時發生異常,python就跳回到try並執行第一個匹配該異常的except子句,異常處理完畢,控制流就通過整個try語句(除非在處理異常時又引發新的異常)。

  • 如果在try後的語句里發生了異常,卻沒有匹配的except子句,異常將被遞交到上層的try,或者到程序的最上層(這樣將結束程序,並列印預設的出錯信息)。

  • 如果在try子句執行時沒有發生異常,python將執行else語句後的語句(如果有else的話),然後控制流通過整個try語句。

7. PythonIDLE為什麼執行except後會跳出去

except這個在python上一般用作異常處理,大致的格式為:

try:

<語句> #運行別的代碼

except <名字>:

<語句> #如果在try部份引發了'name'異常

except <名字>,<數據>:

<語句> #如果引發了'name'異常,獲得附加的數據

else:

<語句> #如果沒有異常發生

參見:網頁鏈接

8. Python新手,Python中except的用法和作用是什麼請指教

except是用來處理異常的。完整舉例說明:try:# 使用raise拋出異常raise IndexError("下標越界")except IndexError as e:pass #這里可以恢復代碼except (TypeError, NameError):pass # 很多別的異常可以在這里處理else: # 可選,其他異常blocksprint("All good!") # 沒有異常情況finally: # 無論如何都會執行的print("這里執行所有的代碼,無論是否有異常")

9. python中的異常類的認識理解

9.8. 異常也是類
用戶自定義異常也可以是類。利用這個機制可以創建可擴展的異常體系。
以下是兩種新的,有效的(語義上的)異常拋出形式,使用 raise 語句:
raise Class
raise Instance
第一種形式中,Class 必須是 type 或其派生類的一個實例。第二種形式是以下形式的簡寫:
raise Class()
發生的異常其類型如果是 except 子句中列出的類,或者是其派生類,那麼它們就是相符的(反過來說--發生的異常其類型如果是異常子句中列出的類的基類,它們就不相符)。例如,以下代碼會按順序列印 B,C,D:
class B(Exception):
pass
class C(B):
pass
class D(C):
pass
for cls in [B, C, D]:
try:
raise cls()
except D:
print("D")
except C:
print("C")
except B:
print("B")
要注意的是如果異常子句的順序顛倒過來( execpt B 在最前),它就會列印 B,B,B--第一個匹配的異常被觸發。
列印一個異常類的錯誤信息時,先列印類名,然後是一個空格、一個冒號,然後使用內置函數 str() 將類轉換得到的完整字元串。

10. python的try-except異常處理語句

我記得是FileExistsError,遇到這種情況的解決方法最好是自己試一遍,然後把他提示的異常種類復制後寫進代碼中便可以了。比如你想知道文件名已經存在是什麼異常,你就讓他報那個異常,不就知道了嗎?

熱點內容
編程生日卡 發布:2025-01-20 01:15:14 瀏覽:205
android備忘錄源碼 發布:2025-01-20 01:06:32 瀏覽:454
怎麼禁用aspx緩存 發布:2025-01-20 01:00:50 瀏覽:687
我的手機如何恢復安卓系統 發布:2025-01-20 00:55:48 瀏覽:366
eclipsejsp編譯 發布:2025-01-20 00:51:02 瀏覽:860
虛擬機連宿主機ftp 發布:2025-01-20 00:43:04 瀏覽:356
最小生成樹的prim演算法 發布:2025-01-20 00:39:40 瀏覽:325
淘寶助理無法上傳 發布:2025-01-20 00:34:33 瀏覽:883
如何做一個代理伺服器 發布:2025-01-20 00:18:39 瀏覽:803
android背單詞源碼 發布:2025-01-19 23:57:21 瀏覽:727