首頁 > 軟體

Python常見例外處理總結

2022-07-06 14:02:37

例外處理介紹

在實際的開發中,我們經常遇到一些報錯的例子,在pycharm的顯示頁面下,當我們看到一串串的紅色的英文字母的時候,就是出現異常,這個時候如果英文好一點的童鞋,就可以按照它的提示,自己去解決。但是英文是很多的童鞋的軟肋,不過你也不要擔心,這個時候你就需要有一個翻譯神器,我使用的是網易有道詞典,不過有時候我們還是會遇到一些比較生僻的表達,所以本期文章我們就一起來看看關於Python實際開發過程中的一些常見報錯和解決方法。

語法報錯

程式碼拼寫錯誤,一般在pycharm裡面出現了錯誤的拼寫,就會自動顯示出來,在它的下面有紅色的波浪線,還有就是我們在使用程式碼的拼寫的時候,有一個技巧,它會自動補全,我們根據自己需要的程式碼塊,按下“enter”鍵就可以實現快速拼接,這樣極大地提高了我們寫程式碼的速度和效率。

還有就會一些縮排錯誤,沒有打冒號,這個是初學者經常遇到的一些問題,在之前的pycharm版本里面沒有提示錯誤的這個功能,後面升級後就會有。在這裡我還要提醒一個,經常有人會問,我好像沒有寫錯啊,但是就是不能執行,這個時候就要檢查自己輸入法是不是英文輸入法,除了用引號括起來的裡面可以中文,其他的都不可以!

例外處理

出現異常的時候我們不知道自己的哪一部分寫錯了,難道還要從全文查詢嗎,不必了!我們直接點選在報錯上面的那個連結,就會自動調到可能錯誤的程式碼處。

下面我看看一些常見的異常解釋:

解決方法

我們在自己寫程式碼做專案的時候,我們發現我們一個完整的專案有很多的程式碼塊,一旦我們第一行程式碼報錯了,我們後面的就不能執行了,如果這樣的話,實際商業應用的時候,是非常的不現實的,所以我們就有了例外處理的方法。

try except

try:
<語句> #執行別的程式碼
except <名字>:
<語句> #如果在try部份引發了'name'異常
except <名字>,<資料>:
<語句> #如果引發了'name'異常,獲得附加的資料
else:
<語句> #如果沒有異常發生

如果try語句下面出現了異常,程式就會去執行except下面的程式碼去執行相關的操作,或者是捕獲異常

try:
a=str("王小王")+1233
print(a)
except:
print("出現異常語法錯誤!")

這裡本來就會報錯,但是我們這個語句,我們要知道int和str是不可以進行運算的。那麼我們在捕獲異常的時候,我們就會發現他是TypeError,對型別無效的操作!

try except else;

當我們這個程式沒有錯誤的時候,它會自動執行else語句,而且不會執行except下面的補充程式碼,這樣就有了一個較好的解決方法。

try except finally:

當我們想要無論是否有異常出現我們都要去列印出來,這個時候我們就可以執行這個語句了。這個語句可以在finally下面加上一些必要的操作,比如我們在進行檔案操作處理的時候,必須要關閉檔案,這個時候就可以使用它。

try:
a=str("王小王")+1233
print(a)
except TypeError:
print("出現異常語法錯誤!")
finally:
print("123")

丟擲異常

使用raise丟擲異常。

try:
a=str("王小王")+1233
print(a)
except TypeError:
print("出現異常語法錯誤!")
finally:
raise TypeError
'''丟擲異常'''
'''raise
raise[異常型別 [,arg [,traceback]]]
其中後面兩個引數都是可選引數
'''

'''assert'''
'''
這個其實就是raise的簡化,當assert後面的語句為假的時候,這個時候就會例外處理,為真就會有正確的執行
'''
def test():
for i in range(3):
try:
assert i<2
except AssertionError:
print("丟擲一個異常!")
print(i)
print("執行完畢!")
test()

自定義異常

'''自定義異常
在定義異常類的時候,我們需要繼承Exception這個類,然後自己再去定義一些東西
'''
class RangeError(Exception):
def __init__(self,value):
self.value=value
def __str__(self):#過載方法__str__()
return self.value
raise RangeError("Rang錯誤!!!!!")

其他內建函數

  • testmod()
  • testfile()

總結

到此這篇關於Python常見例外處理總結的文章就介紹到這了,更多相關Python例外處理內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com