日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python使用异常的目的和好处_python 错误与异常,python assert的作用

發布時間:2024/1/23 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python使用异常的目的和好处_python 错误与异常,python assert的作用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python 錯誤與異常

語法錯誤

異常:大多數的異常都不會被程序處理,都以錯誤信息的形式展現在這里

異常處理:

while True:

try:

x = int(input("請輸入一個錯誤:"))

break

except ValueError:

print("不是有效數字,再試一遍")

try 語句執行順序:

先執行try語句里面的語句,如果沒有異常發生,忽略except語句,try子句執行后結束。

如果在執行try子句的過程中發生了異常,那么try子句余下的部分將被忽略。如果異常的類型和 except 之后的名稱相符,那么對應的except子句將被執行。

如果一個異常沒有與任何的except匹配,那么這個異常將會傳遞給上層的try中。(try可以嵌套try)

一個except子句可以同時處理多個異常,這些異常將被放在一個括號里成為一個元組,例如:

except (RuntimeError, TypeError, NameError):

pass

最后一個except子句可以忽略異常的名稱,它將被當作通配符使用。你可以使用這種方法打印一個錯誤信息,然后再次把異常拋出。

except:

print("作為最后一個,我能捕獲所有之前沒有捕獲的異常")

try except 語句還有一個可選的else子句,如果使用這個子句,那么必須放在所有的except子句之后。這個子句將在try子句沒有發生任何異常(正常執行)的時候執行。例如:

else:

print("else在正常情況下會被執行")

使用 else 子句比把所有的語句都放在 try 子句里面要好,這樣可以避免一些意想不到的、而except又沒有捕獲的異常。

異常處理而且還能處理子句中調用的函數(甚至間接調用的函數)里拋出的異常。例如:

except…as err;(err為錯誤類型),as可以返回錯誤類型

def this_fails():

x = 1 / 0

try:

this_fails()

except ZeroDivisionError as err:

print('Handling run-time error:', err)

#結果:Handling run-time error: division by zero

finally子句的語句在任何情況下都會被執行

finally:

print("finally在任何情況寫都會被執行")

try-finally語句

語法:

try:

可能觸發異常的語句

finally:

最終語句

說明:finally?子句不可以省略,一定不存在except子句

作用:做必須要做的事情,無論異常是否發生,finally子句都會被執行

注:?try-finally語句不會改變程序的(正常/異常)狀態

raise 語句

作用:? ?觸發一個錯誤,讓程序進入異常狀態

語法:raise 異常類型或raise 異常對象

1 # #raise 語句

2 def make_except():

3 print("開始...")

4 # raise ZeroDivisionError # 手動發生一個錯誤通知

5 e = ZeroDivisionError("被零除啦!!!!!")

6 raise e # 觸發e綁定的錯誤,進入異常狀態

7 print("結束")

8

9 try:

10 make_except()

11 print("make_except調用完畢!")

12 except ZeroDivisionError as err:

13 print('出現了被零除的錯誤,已處理并轉為正常狀態!')

14 print('err 綁定的對象是:', err)

15

16 #開始...

17 #出現了被零除的錯誤,已處理并轉為正常狀態!

18 #err 綁定的對象是: 被零除啦!!!!!

raise語句

assert 斷言語句

語法:assert? 真值表達式 , 錯誤信息(通常是字符串)

作用:如果真值表達式為假時,主動的發出異常;如果真值表達式為真,當斷言語句不存在。

assert b==1 # 也可以沒有 異常說明

assert len(lists) >=5,'列表元素個數小于5' # 當len(lists)<5時,主動發出異常

assert b==1,'2不等于1' # 當b不等于1時,主動發出異常,并提示異常

出現使用print()函數打印出內存地址的情況,說明你輸出的是打印函數名/模塊名/類名,需要用函數把內存中的值取出來

小結:

接收錯誤消息:

try-except

做必須要處理的事情的語句:

try-finally

發錯誤消息的語句:

raise 語句

assert 語句

參考文獻

作者:凌逆戰

總結

以上是生活随笔為你收集整理的python使用异常的目的和好处_python 错误与异常,python assert的作用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。