Python基礎知識(九) 異常

2021-09-12 07:08:44 字數 2395 閱讀 8177

定義

語法

try

:《語句》

#可能發生異常的**

except

《名字》

:《語句》

#如果在try部份引發了'name'異常

except

《名字》

as《異常引數》

:《語句》

#如果引發了『name』異常,獲得附加的異常物件

else

:《語句》

#如果沒有異常發生

import sys

try:

n=0print(10

/ n)

except

:print

("做除法時發生異常!"

)

try

: fp =

open

('t.txt'

,'r'

) content=fp.read(

) fp.close(

)except ioerror:

print

('讀取檔案時,發生ioerror 異常!'

)else

:print

('檔案讀取成功'

)print

(content)

import sys

try:

s=input

('enter something-->'

)except keyboardinterrupt:

print

('\nwhy did you do an ctrl+c on me?'

) sys.exit(

)except

:print

('\nsome error/exception occurred.'

)else

:print

('no exception occur!'

)finally

:print

('finally is executed!'

)

try

: fp=

open

('a.txt'

,'r'

)try

: content=fp.read(

)print

(content)

finally

:print

('關閉檔案'

) fp.close(

)except ioerror:

print

('error:沒有找到檔案或讀取檔案失敗'

)

語法

try-except execptiontype,argument

try

: fp=

open

('c.txt'

,'r'

)try

: content=fp.read(

)finally

: fp.close(

)except exception as e:

print

('檔案讀取失敗'

)print

('列印異常資訊'

)print

(e)

語法:

raise[someexcpetion[, args [, traceback]]]

import traceback

try:

value=

input

('請輸入乙個整數:')if

not value.isdigit():

raise valueerror(

'not a int'

)except valueerror as e:

print

('值錯誤:'

,e)

class

networkerror

(runtimeerror)

:def

__init__

(self,value)

: self.value = value

try:

raise networkerror(

'bad hostname'

)except networkerror as e:

print

('my exception occured,value'

,e.value)

Python基礎知識(九)異常處理

1 syntaxerror 語法錯誤 try 有可能出現異常 except 異常型別as例項 捕獲特定異常 finally 不論是否遇到異常均會執行 raise 手動丟擲異常 else 未遇到異常 測試案例 測試類測試 import unittest from coder import coder ...

python基礎知識(九)

遞迴函式 條件 1 函式自己呼叫自己 2 函式呼叫必須有退出 eg def hanshu x print x if x 1 return hanshu x 1 print hanshu 4 結果為 階乘eg 求10!def jiecheng x if x 1 return 1 a jiecheng ...

python基礎知識整理檔案和異常(九)

檔案和異常 從檔案中讀取資料 先建立檔案qingtian.txt with open qingtian.txt r encoding utf 8 as f a f.read print a 檔案的路徑 相對路徑 根據你組織檔案的方式,有時可能要開啟不在程式檔案所屬目錄中的檔案。例如,你可能將程式檔案...