Python中try語句的用法

2021-10-07 05:52:43 字數 2815 閱讀 7724

try:

f = open('該文件不存在')

print(f.read())

f.close()

except oserror:

print('檔案出錯了t_t')

輸出:

檔案出錯了t_t

當然,我們也可以在except exception 加上 as reason將程式檢測到的出錯的資訊輸出,舉例說明:

try:

f = open('該文件不存在')

print(f.read())

f.close()

except oserror as reason:

print('檔案出錯了t_t')

print('出錯原因是%s'%str(reason))

輸出:

檔案出錯了t_t

出錯原因是[errno 2] no such file or directory: 『該文件不存在』

當然,可以增加多個except語句,提取**段不同的異常問題,舉例說明:

try:

1 + '1'

f = open('該文件不存在')

print(f.read())

f.close()

except oserror as reason:

print('檔案出錯了t_t')

print('出錯原因是%s'%str(reason))

except typeerror as reason:

print('求和出錯了t_t')

print('出錯原因是%s'%str(reason))

輸出:

求和出錯了t_t

出錯原因是unsupported operand type(s) for +: 『int』 and 『str』

但是需要注意程式檢測到第乙個異常後即停止執行,在except中找到相應輸出語句,如果except未包含時,則直接曝出異常,

try:

fishc

1 + '1'

f = open('該文件不存在')

print(f.read())

f.close()

except oserror as reason:

print('檔案出錯了t_t')

print('出錯原因是%s'%str(reason))

except typeerror as reason:

print('求和出錯了t_t')

print('出錯原因是%s'%str(reason))

輸出:

traceback (most recent call last):

file 「d:/python34/test/033/01.py」, line 2, in

fishc

nameerror: name 『fishc』 is not defined

另外,可以將exception資訊放在乙個except語句下面,舉例說明:

try:

fishc

1 + '1'

f = open('該文件不存在')

print(f.read())

f.close()

except (oserror,typeerror,nameerror) as reason:

print('出錯了t_t')

print('出錯原因是%s'%str(reason))

輸出:

出錯了t_t

出錯原因是name 『fishc』 is not defined

try:

fishc

1 + '1'

f = open('該文件不存在')

print(f.read())

f.close()

except:

print('出錯了t_t')

輸出:

出錯了t_t

try:

fishc

1 + '1'

f = open('新文件.txt',wt)

except (oserror,typeerror,nameerror) as reason:

print('出錯了t_t')

print('出錯原因是%s'%str(reason))

finally:

f = open('新文件.txt','wt')

f.write('我愛魚c論壇!')

f.close()

f = open('新文件.txt','rt')

print(f.read())

f.close()

輸出:

出錯了t_t

出錯原因是name 『fishc』 is not defined

我愛魚c論壇!

raise nameerror

輸出:

traceback (most recent call last):

file 「」, line 1, in

raise nameerror

nameerror

raise zerodivisionerror(『除數是0』)

輸出:

traceback (most recent call last):

file 「」, line 1, in

raise zerodivisionerror(『除數是0』)

zerodivisionerror: 除數是0

try語句的用法

try語句用於捕獲異常 try必須帶有乙個except或finally子句,或者兩個都帶。其中幾個子句的順序必須是 try except else finally,其中else和finally是可選項,可以有零個或多個except子句,但是如果else出現則必須至少有乙個except。例項分析 co...

Python之異常(try的用法)

異常 程式在執行的時候,如果python直譯器遇到乙個錯誤,會停止程式的執行,並且提示一些錯誤的資訊,這就是異常 我們在程式開發的時候,很難將所有的特殊情況都處理,通過異常捕獲可以針對 突發事件做集中處理,從而保證程式的健壯性和穩定性 在程式開發中,如果對某些 的執行不能確定 程式語法完全正確 可以...

try語句的使用

c語言裡try是乙個語句或函式。其作用是是丟擲錯誤用。將有可能產生錯誤的語句括在一起,放入try語句塊。如果在try語句塊中發生異常,flashplayer會建立乙個錯誤物件,並將該error物件派發至第乙個可用的catch塊。catch語句塊提供對錯誤的處理。如果沒有try語句,或者try語句沒有...