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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

错误与异常

發布時間:2024/9/30 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 错误与异常 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

程序的錯誤

語法錯誤,邏輯錯誤和運行時錯誤
  • 語法錯誤是指源代碼中的拼寫等錯誤,這些錯誤導致python編譯器無法把python源代碼轉換為字節碼,故也稱之為編譯錯誤。
  • 邏輯錯誤是程序可以執行(程序運行本身不報錯)但執行結果不正確。對于邏輯錯誤,python解釋器無能為力,需要根據結果來調試判斷。
  • 運行時錯誤是當:
    1.程序中沒有導入相關的模塊(例如,import random)時,解釋器將在運行時拋出NameError錯誤信息
    2.程序中包括零除運算,解釋器將在運行時拋出ZeroDivisionError錯誤信息
    3.程序中試圖打開不存在的文件,解釋器將在運行時拋出FileNotFoundError錯誤信息

異常

異常指的是程序在沒有語法錯誤的前提下,在運行期間產生的特定錯誤
每個指定錯誤都對應一個異常類對象,當產生某個特定錯誤時,其對應的異常類對象的實例對象就會被拋出
如果在程序中對拋出的異常實例對象不進行捕獲和處理,程序就會停止運行,并且打印錯誤的詳細信息,包括:

  • Traceback,它指的是異常調用堆棧的跟蹤信息,其中列出了程序中的相關行數。
  • 對應的異常類對象的名稱,以及異常的錯誤信息。

內置的異常類

所有內置異常類對象的基類是Exception
help(Exception) >>> >Help on class Exception in module builtins:class Exception(BaseException)| Common base class for all non-exit exceptions.| | Method resolution order:| Exception| BaseException| object| | Methods defined here:| | __init__(self, /, *args, **kwargs)| Initialize self. See help(type(self)) for accurate signature.| | ----------------------------------------------------------------------| Static methods defined here:| | __new__(*args, **kwargs) from builtins.type| Create and return a new object. See help(type) for accurate signature.| | ----------------------------------------------------------------------| Methods inherited from BaseException:| | __delattr__(self, name, /)| Implement delattr(self, name).| | __getattribute__(self, name, /)| Return getattr(self, name).| | __reduce__(...)| Helper for pickle.| | __repr__(self, /)| Return repr(self).| | __setattr__(self, name, value, /)| Implement setattr(self, name, value).| | __setstate__(...)| | __str__(self, /)| Return str(self).| | with_traceback(...)| Exception.with_traceback(tb) --| set self.__traceback__ to tb and return self.| | ----------------------------------------------------------------------| Data descriptors inherited from BaseException:| | __cause__| exception cause| | __context__| exception context| | __dict__| | __suppress_context__| | __traceback__| | args

異常處理(try…except…else…finally結構)

try…except

try…except語句的語法格式:
try:
可能會產生異常的代碼
except 異常類對象1:
當前except子句處理異常的代碼
except 異常類對象2:
當前except子句處理異常的代碼

except 異常類對象n:
當前except子句處理異常的代碼

result = 1 / 0 print(result) >>> >--------------------------------------------------------------------------- ZeroDivisionError Traceback (most recent call last) <ipython-input-2-2a7c00a6da7f> in <module>() ----> 1 result = 1 / 02 print(result)ZeroDivisionError: division by zero try:result = 1 / 0print(result) except ZeroDivisionError:print("0不能作為除數!") >>> >0不能作為除數!

except后面的錯誤要注意類型

try:result = 1 / 0print(result) except TypeError:#錯誤不對print("0不能作為除數!")>>>>--------------------------------------------------------------------------- ZeroDivisionError Traceback (most recent call last) <ipython-input-4-4486f690affe> in <module>()1 try: ----> 2 result = 1 / 03 print(result)4 except TypeError:5 print("0不能作為除數!")ZeroDivisionError: division by zero result = int('abc') print(result) >>> >--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-5-960d03050136> in <module>() ----> 1 result = int('abc')2 print(result)ValueError: invalid literal for int() with base 10: 'abc' try:result = 1 / 0print(result) except ArithmeticError:#ArithmeticError為ZeroDivisionError父類print("數學錯誤") >>> >數學錯誤

如果捕獲的異常之間有繼承關系,則結果跟其順序有關系

try:result = 1 / 0print(result) except ArithmeticError:print("數學錯誤") except ZeroDivisionError:print("0不能作為除數!") >>> >數學錯誤 try:result = 1 / 0print(result) except ZeroDivisionError:print("0不能作為除數!") except ArithmeticError:print("數學錯誤") >>> >0不能作為除數!

多種異常輸出一個結果可以合并

try:result = 1 / 0print(result) except (TypeError,ZeroDivisionError,ValueError):print("運行出錯了!") >>> >運行出錯了! try:result = 1 / 0print(result) except ZeroDivisionError as err:print(type(err))print(err)>>> ><class 'ZeroDivisionError'> division by zero

try…except…else…

try:
可能會產生異常的代碼
except 異常類對象1:
當前except子句處理異常的代碼
except 異常類對象2:
當前except子句處理異常的代碼

except 異常類對象n:
當前except子句處理異常的代碼
else:
try語句塊中沒有產生異常時執行的代碼

while True:try:x = int(input('請輸入一個整數:'))except ValueError:print('無效的輸入,請再次輸入')else:print('輸入的整數為:',x)break >>> >請輸入一個整數:a 無效的輸入,請再次輸入 請輸入一個整數:b 無效的輸入,請再次輸入 請輸入一個整數:s 無效的輸入,請再次輸入 請輸入一個整數:6 輸入的整數為: 6

try…except…finally…

try:
可能會產生異常的代碼
except 異常類對象1:
當前except子句處理異常的代碼
except 異常類對象2:
當前except子句處理異常的代碼

except 異常類對象n:
當前except子句處理異常的代碼
finally:
總會被執行的代碼

  • 通常在finally從句中釋放資源
  • 若except沒有捕獲異常,則運行finally,則終止且拋出沒有被捕獲到的異常

raise(手動拋出異常實例對象)

raise 異常類對象[([參數])]

如果沒有傳入參數,可以省略掉小括號。

raise ZeroDivisionError('0不能作為除數') >>> >--------------------------------------------------------------------------- ZeroDivisionError Traceback (most recent call last) <ipython-input-14-5b1ed144e826> in <module>() ----> 1 raise ZeroDivisionError('0不能作為除數')ZeroDivisionError: 0不能作為除數 raise ZeroDivisionError()#無參數時,小括號可以省略 >>> >--------------------------------------------------------------------------- ZeroDivisionError Traceback (most recent call last) <ipython-input-15-10ba4d062a9d> in <module>() ----> 1 raise ZeroDivisionError()ZeroDivisionError: raise Warning("嗶!") >>> >--------------------------------------------------------------------------- Warning Traceback (most recent call last) <ipython-input-16-98ba533ebbb8> in <module>() ----> 1 raise Warning("嗶!")Warning: 嗶!

自定義異常

class MyException(Exception):pass raise MyException('bibibibibi~~') >>> >--------------------------------------------------------------------------- MyException Traceback (most recent call last) <ipython-input-5-f791c2df0850> in <module>()1 class MyException(Exception):2 pass ----> 3 raise MyException('bibibibibi~~')MyException: bibibibibi~~

總結

以上是生活随笔為你收集整理的错误与异常的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久久婷五月天 | 天堂在线视频免费观看 | 福利片一区二区 | 亚洲成人av免费观看 | 性av网| 婷婷日 | 男人和女人搞鸡 | 日韩精品成人一区二区在线 | 国产麻豆精品一区二区 | 日韩免费视频一区二区视频在线观看 | 91视频播放 | 五月婷婷综合激情网 | 国产另类视频 | 国产性生活片 | 午夜精品久久久久 | 国产一级在线播放 | 无码人妻久久一区二区三区 | 91老师国产黑色丝袜在线 | 免费看女人裸体 | 综合久 | 凹凸国产熟女精品视频 | 狠狠干2019| 国产精品一二三区视频 | 男女日批在线观看 | 久久国产在线视频 | 春色激情| 国产一级片在线播放 | 欧美精品日韩在线 | 成人在线观看免费 | 激情女主播 | 18成人免费观看网站下载 | 日本成人一二三区 | 亚洲欧美日韩偷拍 | 亚洲 欧美 视频 | 中文在线a√在线 | 五个女闺蜜把我玩到尿失禁 | 欧美激情电影一区二区 | 精品中文字幕在线观看 | 人人射人人插 | 一级大片在线观看 | 白石茉莉奈中文字幕在 | 男女视频一区二区 | 国产精品国语 | 老局长的粗大高h | 黄色网址你懂的 | 国产视频不卡 | 国产精品无码av在线播放 | 日韩一区二区三区在线看 | 日韩网| 久久人人艹 | 五月婷婷在线观看 | 国产情侣在线播放 | 91视频污在线观看 | 国产欧美一区二区三区在线 | 美女又黄又爽 | 精品人妻人人做人人爽 | 色爱av| 狠狠操天天干 | 欧美 日韩 国产 成人 在线 | 婷婷在线视频 | 色欲av伊人久久大香线蕉影院 | 美丽的姑娘观看在线播放 | 久久最新 | 欧美日韩亚洲国产一区 | 伦一理一级一a一片 | 欧美做爰全过程免费观看 | 久久精品视频5 | 久久久久久久久久久久久久国产 | 亚洲精品国产成人久久av盗摄 | 乱lun合集小可的奶水 | a三级黄色片| 亚洲毛片在线免费观看 | 日韩免费高清一区二区 | 久久黄色一级视频 | 成人黄色三级 | 男女日批网站 | 国产成人精品视频一区二区 | 日韩精品一区二区三区视频在线观看 | 欧美丰满熟妇bbb久久久 | 国产日批视频 | 99综合 | 一级女性全黄久久生活片免费 | 午夜日韩| 成人春色影视 | 午夜精品国产精品大乳美女 | 一级黄色大毛片 | 亚州一级 | 99久久精品国产色欲 | 在线欧美日韩国产 | 蝌蚪久久| 中文字幕乱码在线人视频 | 人人插人人搞 | 99热黄色| 拔插拔插海外华人免费视频 | 日韩在线视频免费观看 | 日日噜噜噜噜人人爽亚洲精品 | 国产精品xxx | 国产精品腿扒开做爽爽爽挤奶网站 | 午夜特级毛片 |