Python中 異常處理 捕捉和常用方法案例

2021-08-20 12:35:53 字數 1415 閱讀 7906

1:把錯誤處理和真正的工作分開來

2:**更易組織,更清晰,複雜的工作任務更容易實現;

3:毫無疑問,更安全了,不至於由於一些小的疏忽而使程式意外崩潰了;

attributeerror 試圖訪問乙個物件沒有的樹形,比如foo.x,但是foo沒有屬性x

ioerror 輸入/輸出異常;基本上是無法開啟檔案

importerror 無法引入模組或包;基本上是路徑問題或名稱錯誤

indentationerror 語法錯誤(的子類) ;**沒有正確對齊

indexerror 下標索引超出序列邊界,比如當x只有三個元素,卻試圖訪問x[5]

keyerror 試圖訪問字典裡不存在的鍵

keyboardinterrupt ctrl+c被按下

nameerror 使用乙個還未被賦予物件的變數

syntaxerror python**非法,**不能編譯(個人認為這是語法錯誤,寫錯了)

typeerror 傳入物件型別與要求的不符合

unboundlocalerror 試圖訪問乙個還未被設定的區域性變數,基本上是由於另有乙個同名的全域性變數,

導致你以為正在訪問它

valueerror 傳入乙個呼叫者不期望的值,即使值的型別是正確的

#基本語法為

try:

被檢測的**塊

except 異常型別:

try中一旦檢測到異常,就執行這個位置的邏輯

#舉例try:

f=open('a.txt')

g=(line.strip() for line in f)

print(next(g))

print(next(g))

print(next(g))

print(next(g))

print(next(g))

except stopiteration:

f.close()

#基本語法為

s1 = 'hello'

try:

int(s1)

except indexerror as e:

print(e)

except keyerror as e:

print(e)

except valueerror as e:

print(e)

#基本語法為

s1 = 'hello'

try:

s1 = 'hello'

try:

int(s1)

except exception as e:

print(e)

C C 異常捕捉和處理

在閱讀別人開發的專案中,也許你會經常看到了多處使用異常的 也許你也很少遇見使用異常處理的 那在什麼時候該使用異常,又在什麼時候不該使用異常呢?在學習完異常基本概念和語法之後,後面會有講解。1.丟擲異常 throw 異常物件 2.異常捕捉 trycatch 異常物件 class data void f...

捕捉異常 python入門系列 異常處理

捕捉異常,然後再處理 try 可能出現異常的 有異常就會丟擲,不會再執行剩下的 try後面的 except error as 出現異常後,而且 捉到的 except可以寫多個,用來捕捉多個不同的異常else 異常未 捉到所執行的 可以省略 finally 不管有沒有異常都會執行的 異常的合併解決 t...

python異常捕捉處理機制

python中捕捉異常常用句式try except try 語句按照如下方式工作 乙個 try 語句可能包含多個except子句,分別來處理不同的特定的異常。最多只有乙個分支會被執行。處理程式將只針對對應的 try 子句中的異常進行處理,而不是其他的 try 的處理程式中的異常。乙個except子句...