您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Python中錯誤和異常及訪問錯誤消息的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
錯誤和異常
當 Python 無法解析代碼時,就會發生語法錯誤,因為我們沒有遵守正確的 Python 語法。
當在程序執行期間出現意外情況時,就會發生異常,即使代碼在語法上正確無誤。Python 有不同類型的內置異常。
指定異常
可以指定要在 except
塊中處理哪個錯誤,如下所示:
try: # some code except ValueError: # some code
現在它會捕獲 ValueError 異常,但是不會捕獲其他異常。如果我們希望該處理程序處理多種異常,我們可以在 except
后面添加異常元組。
try: # some code except (ValueError, KeyboardInterrupt): # some code
或者,如果我們希望根據異常執行不同的代碼塊,可以添加多個 except
塊。
try: # some code except ValueError: # some code except KeyboardInterrupt: # some code
處理除以零的案例:
def create_groups(items, num_groups): try: size = len(items) // num_groups except ZeroDivisionError: print("WARNING: Returning empty list. Please use a nonzero number.") return [] else: groups = [] for i in range(0, len(items), size): groups.append(items[i:i + size]) return groups finally: print("{} groups returned.".format(num_groups)) print("Creating 6 groups...") for group in create_groups(range(32), 6): print(list(group)) print("\nCreating 0 groups...") for group in create_groups(range(32), 0): print(list(group))
正確的輸出應該是:
Creating 6 groups...
6 groups returned.
[0, 1, 2, 3, 4]
[5, 6, 7, 8, 9]
[10, 11, 12, 13, 14]
[15, 16, 17, 18, 19]
[20, 21, 22, 23, 24]
[25, 26, 27, 28, 29]
[30, 31]Creating 0 groups...
WARNING: Returning empty list. Please use a nonzero number.
0 groups returned.
訪問錯誤消息
在處理異常時,依然可以如下所示地訪問其錯誤消息:
try: # some code except ZeroDivisionError as e: # some code print("ZeroDivisionError occurred: {}".format(e))
應該會輸出如下所示的結果:
ZeroDivisionError occurred: division by zero
如果沒有要處理的具體錯誤,依然可以如下所示地訪問消息:
try: # some code except Exception as e: # some code print("Exception occurred: {}".format(e))
此處:Exception
是所有內置異常的基礎類。
關于“Python中錯誤和異常及訪問錯誤消息的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。