python拋出異常繼續執行,python中oserror捕獲_Python assert異常處理(一看即懂)

 2023-10-21 阅读 32 评论 0

摘要:Python 還支持斷言語法。在一套程序完成之前,編程者并不知道程序可能會在哪里報錯,或是觸發何種條件的報錯,因此使用斷言語法可以有效地做好異常檢測,并適時觸發和拋出異常。Python 中使用 assert 語句聲明斷言,其語法為:assert 表

Python 還支持斷言語法。在一套程序完成之前,編程者并不知道程序可能會在哪里報錯,或是觸發何種條件的報錯,因此使用斷言語法可以有效地做好異常檢測,并適時觸發和拋出異常。

Python 中使用 assert 語句聲明斷言,其語法為:

assert 表達式 [, "斷言異常提示信息"]

Python 首先檢測表達式結果是否為 True,若為 True 則繼續向下執行,否則將觸發斷言異常,并顯示斷言異常提示信息,后續代碼捕獲該異常并做進一步處理。例如:

python拋出異常繼續執行、def testAssert(x):

assert x < 1,'無效值'

print ("有效值")

testAssert(1)

上述代碼的運行結果如下所示:

assert python。>>> def testAssert(x):

...????????? assert x < 1,'無效值'

...????????? print ("有效值")

>>> testAssert(1)

Traceback (most recent call last):

import python、File "", line 1, in

testAssert(1)

File "", line 2, in testAssert

assert x < 1,'無效值'

AssertionError: 無效值

python中的elif,可見,當 assert 語句判斷的表達式結果為 False 時觸發了斷言異常,此時可以使用 try…except 語句捕獲并做進一步處理,例如:

def testAssert(x):

assert x < 1, '無效值'

print("有效值")

try:

python異常處理原理、testAssert(1)

except Exception:

print("捕獲成功")

上述代碼的運行結果如下所示:

>>> def testAssert(x):

python str、...? ? ? ? ? assert x < 1, '無效值'

...? ? ? ? ? print("有效值")

>>> try:

...? ? ? ? ?testAssert(1)

...? ? ?except Exception:

lambda python,...? ? ? ? ?print("捕獲成功")

捕獲成功

Python解釋器內置的預定義標準異常如表 1 所示。

表 1:Python 解釋器內置的預定義標準異常

異常名稱

python append,描述

ArithmeticError

所有數值計算錯誤的基類

AssertionError

斷言語句失敗

python捕獲異常、AttributeError

對象無此屬性

BaseException

所有異常的基類

DeprecationWarning

python自定義異常?關于被棄用的特征的警告

EnvironmentError

操作系統相關的錯誤的基類

EOFError

到達文件尾(EOF, End-of-File)錯誤

python中assert()函數?Exception

常規錯誤的基類

FloatingPointError

浮點計算錯誤

FutureWarning

python中的異常處理,關于將來語義會有改變的警告

GeneratorExit

生成器發生異常通知退出

ImportError

引入模塊/對象失敗

IndentationError

縮進錯誤

IndexError

序列中無此索引

IOError

輸入/輸出操作失敗

Keyboardlnterrupt

用戶中斷執行

KeyError

映射中無此鍵

LookupError

無效數據查詢的基類

MemoryError

內存溢出錯誤

NameError

未聲明/初始化對象,名稱調用錯誤

NotImplementedError

尚未實現的方法

OSError

操作系統錯誤

OverflowError

數值運算超出最大限制

PendingDeprecationWarning

關于特性將會被廢棄的警告

ReferenceError

弱引用試圖訪問已經被回收的對象

RuntimeError

一般運行時錯誤

RuntimeWarning

運行時行為警告

StandardError

所有內建標準異常的基類

StopIteration

迭代器沒有更多的值

SyntaxError

Python語法錯誤

SyntaxWarning

語法警告

SystemError

一般的解釋器系統錯誤

SystemExit

解釋器請求退出

TabError

Tab和空格混用

TypeError

對類型無效的操作

UnboundLocalError

訪問未初始化的本地變量

UnicodeDecodeError

Unicode解碼錯誤

UnicodeEncodeError

Unicode編碼錯誤

UnicodeError

Unicode相關錯誤

UnicodeTranslateError

Unicode轉換錯誤

UserWarning

用戶代碼生成的警告

ValueError

傳入無效參數

Warning

各種警告的基類

WindowsError

系統調用失敗

ZeroDivisionError

除(或取模)零錯誤

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/158604.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息