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

歡迎訪問 生活随笔!

生活随笔

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

python

python异常处理结构_python-异常处理

發布時間:2024/9/3 python 73 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python异常处理结构_python-异常处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

異常處理

1、異常基礎

1 try:2 names[3]3 data['name']4 except KeyError as e: #特定錯誤

5 print("沒有這個key",e)6 except Exception as e: #其他錯誤

7 print("出錯了",e)8 else:9 print("一切正常")10 finally:11 print("不管有沒有錯,都執行")

例子

在編程過程中為了增加友好性,在程序出現bug時一般不會將錯誤信息顯示給用戶,而是現實一個提示的頁面,通俗來說就是不讓用戶看見大黃頁!!!

需求:將用戶輸入的兩個數字相加

1 whileTrue:2 num1 = raw_input('num1:')3 num2 = raw_input('num2:')4 try:5 num1 =int(num1)6 num2 =int(num2)7 result = num1 +num28 exceptException, e:9 print '出現異常,信息如下:'

10 print e

View Code

whileTrue:

num1 = raw_input('num1:')

num2 = raw_input('num2:')

try:

num1 =int(num1)

num2 =int(num2)

result = num1 +num2

exceptException, e:

print '出現異常,信息如下:'

print e

2、異常種類

python中的異常種類非常多,每個異常專門用于處理某一項異常!!!

1 AttributeError 試圖訪問一個對象沒有的樹形,比如foo.x,但是foo沒有屬性x2 IOError 輸入/輸出異常;基本上是無法打開文件3 ImportError 無法引入模塊或包;基本上是路徑問題或名稱錯誤4 IndentationError 語法錯誤(的子類) ;代碼沒有正確對齊5 IndexError 下標索引超出序列邊界,比如當x只有三個元素,卻試圖訪問x[5]6 KeyError 試圖訪問字典里不存在的鍵7 KeyboardInterrupt Ctrl+C被按下8 NameError 使用一個還未被賦予對象的變量9 SyntaxError Python代碼非法,代碼不能編譯(個人認為這是語法錯誤,寫錯了)10 TypeError 傳入對象類型與要求的不符合11 UnboundLocalError 試圖訪問一個還未被設置的局部變量,基本上是由于另有一個同名的全局變量,12 導致你以為正在訪問它13 ValueError 傳入一個調用者不期望的值,即使值的類型是正確的

View Code

AttributeError 試圖訪問一個對象沒有的樹形,比如foo.x,但是foo沒有屬性x

IOError 輸入/輸出異常;基本上是無法打開文件

ImportError 無法引入模塊或包;基本上是路徑問題或名稱錯誤

IndentationError 語法錯誤(的子類) ;代碼沒有正確對齊

IndexError 下標索引超出序列邊界,比如當x只有三個元素,卻試圖訪問x[5]

KeyError 試圖訪問字典里不存在的鍵

KeyboardInterrupt Ctrl+C被按下

NameError 使用一個還未被賦予對象的變量

SyntaxError Python代碼非法,代碼不能編譯(個人認為這是語法錯誤,寫錯了)

TypeError 傳入對象類型與要求的不符合

UnboundLocalError 試圖訪問一個還未被設置的局部變量,基本上是由于另有一個同名的全局變量,

導致你以為正在訪問它

ValueError 傳入一個調用者不期望的值,即使值的類型是正確的

1 ArithmeticError2 AssertionError3 AttributeError4 BaseException5 BufferError6 BytesWarning7 DeprecationWarning8 EnvironmentError9 EOFError10 Exception11 FloatingPointError12 FutureWarning13 GeneratorExit14 ImportError15 ImportWarning16 IndentationError17 IndexError18 IOError19 KeyboardInterrupt20 KeyError21 LookupError22 MemoryError23 NameError24 NotImplementedError25 OSError26 OverflowError27 PendingDeprecationWarning28 ReferenceError29 RuntimeError30 RuntimeWarning31 StandardError32 StopIteration33 SyntaxError34 SyntaxWarning35 SystemError36 SystemExit37 TabError38 TypeError39 UnboundLocalError40 UnicodeDecodeError41 UnicodeEncodeError42 UnicodeError43 UnicodeTranslateError44 UnicodeWarning45 UserWarning46 ValueError47 Warning48 ZeroDivisionError

View Code

ArithmeticError

AssertionError

AttributeError

BaseException

BufferError

BytesWarning

DeprecationWarning

EnvironmentError

EOFError

Exception

FloatingPointError

FutureWarning

GeneratorExit

ImportError

ImportWarning

IndentationError

IndexError

IOError

KeyboardInterrupt

KeyError

LookupError

MemoryError

NameError

NotImplementedError

OSError

OverflowError

PendingDeprecationWarning

ReferenceError

RuntimeError

RuntimeWarning

StandardError

StopIteration

SyntaxError

SyntaxWarning

SystemError

SystemExit

TabError

TypeError

UnboundLocalError

UnicodeDecodeError

UnicodeEncodeError

UnicodeError

UnicodeTranslateError

UnicodeWarning

UserWarning

ValueError

Warning

ZeroDivisionError

1 dic = ["wupeiqi", 'alex']2 try:3 dic[10]4 exceptIndexError, e:5 print e

View Code

dic = ["wupeiqi", 'alex']

try:

dic[10]

exceptIndexError, e:

print e

1 dic = {'k1':'v1'}2 try:3 dic['k20']4 exceptKeyError, e:5 print e

View Code

dic = {'k1':'v1'}

try:

dic['k20']

exceptKeyError, e:

print e

1 s1 = 'hello'

2 try:3 int(s1)4 exceptValueError, e:5 print e

View Code

s1 = 'hello'

try:

int(s1)

exceptValueError, e:

print e

對于上述實例,異常類只能用來處理指定的異常情況,如果非指定異常則無法處理。

所以,寫程序時需要考慮到try代碼塊中可能出現的任意異常,可以這樣寫:

萬能異常 在python的異常中,有一個萬能異常:Exception,他可以捕獲任意異常,即:

接下來你可能要問了,既然有這個萬能異常,其他異常是不是就可以忽略了!

答:當然不是,對于特殊處理或提醒的異常需要先定義,最后定義Exception來確保程序正常運行。

3、異常其他結構

4、主動觸發異常

5、自定義異常

6、斷言

總結

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

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