Python 異常處理

2021-07-24 18:31:13 字數 2065 閱讀 1298

raise的作用:

在使用try … except … finally 結構來處理異常的過程中,可以分為兩種情況:

例項:

1. 不使用raise:

# -*- coding: utf-8 -*-

'''功能:不使用raise,測試程式運**況

'''def

example

(inpute):

try:

result = 10 / inpute

except exception, e:

print exception, ':', e

a = 10

print

'a =', a

if __name__ == '__main__':

example(0)

執行結果:

結果分析:

不使用raise丟擲異常,而是在except後面自己列印所帶的異常

程式並不會被終止,後面變數a的賦值和列印正常執行

2. 使用raise:

2.1 不帶引數:

# -*- coding: utf-8 -*-

'''功能:使用raise(不帶引數),測試程式運**況

'''def

example

(inpute):

try:

result = 10 / inpute

except exception, e:

print exception, ':', e

raise

a = 10

print

'a =', a

if __name__ == '__main__':

example(0)

執行結果:

結果分析:

1. 程式在raise丟擲異常後停止執行,並沒有執行下面的變數a的賦值和列印

2. raise丟擲了函式的異常,與我們自己列印的異常相同,均為integer division or modulo by zero, 即:0被除了

2.2 帶引數:

# -*- coding: utf-8 -*-

'''功能:使用raise(帶引數),測試程式運**況

'''def

example

(inpute):

try:

result = 10 / inpute

except exception, e:

print exception, ':', e

raise valueerror

a = 10

print

'a =', a

if __name__ == '__main__':

example(0)

執行結果:

結果分析:

使用raise丟擲異常且帶引數時,我們發現:

1. 程式在raise丟擲異常後停止執行,並沒有執行下面的變數a的賦值和列印

2. 帶引數時,raise會不管函式的異常,直接丟擲引數所帶的異常(如: 這裡的異常應該是0不能被除,但卻丟擲的raise後面的value異常)

3. 所以在使用帶引數時要注意,一般raise後面帶引數,可以丟擲我們自己定義的異常型別

python異常處理 Python 異常處理

使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...

python異常舉例 Python異常處理

1.1異常問題舉例 例一 i input 請輸入數字 請輸入數字 0 print i print 5 int i traceback most recent call last file line 1,in zerodivisionerror division by zero 上述 的報錯是除零的錯...

python異常處理

當你的程式中出現異常情況時就需要異常處理。比如當你開啟乙個不存在的檔案時。當你的程式中有一些無效的語句時,python會提示你有錯誤存在。下面是乙個拼寫錯誤的例子,print寫成了print。python是大小寫敏感的,因此python將引發乙個錯誤 print hello world file l...