python第八章測試題答案 第八章 異常處理

2021-10-11 14:49:20 字數 2208 閱讀 4097

[toc]

# 異常處理

python所有的錯誤都是從baseexception類派生的,常見的錯誤型別和繼承關係看這裡:

## 語法

~~~ python

try:

pass

except:

pass

finally:

pass

例:try:

print 10 / 0

except exception, e:

print e

finally:

print 'finally...'

* 如果錯誤沒有**獲,它就會一直往上拋,最後被python直譯器捕獲,列印乙個錯誤資訊,然後程式退出。

~~~ python

異常會被python直譯器捕獲

def foo(s):

return 10 / int(s)

def bar(s):

return foo(s) * 2

def main():

bar('0')

>>> main()

## 自定義異常類

* 語法:

➣ ` class customexception(exception): pass`

* 向其他類一樣,只要確保從exception類繼承(不管是間接還是直接的,就是說繼承其他的內建異常類也可以)

## 多個except

~~~ python

try:

x = input('enter the first number: ')

y = input('enter the second number: ')

print x / y

except zerodivisionerror:

print 'zerodivisionerror...'

except typeerror:

print 'typeerror...'

# 或except (zerodivisionerror, typeerror):

print 'error message...'

## 獲取異常的物件 e

~~~ python

try:

print 1 / 0

except (zerodivisionerror, typeerror), e:

print 'error message: ', e

## 給try/except新增else語句

**else中的語句**只有在**沒有異常**發生的時候**才會執行**

* 語法:

~~~ python

try:

except:

else:

finally:

~~~ python

例:輸入不正確會引異常,程式就會不斷要求輸入

輸入正確沒有異常,就會執行else中的語句,結束程式

while true:

try:

x = input('enter the first number: ')

y = input('enter the second number: ')

print x / y

except:

print 'invalid input,please try again!'

else:

break

finally:

print 'exec finally...'

## raise關鍵字

將異常拋向上層呼叫處

~~~ python

def cacl():

try:

print 1 / 0

except:

raise exception('something is wrong!') # 從此處丟擲異常到標記二處

def exec_cacl():

cacl() # 標記二 此處將異常繼續外拋至標記三處

# 標記三 此處異常未做處理,程式強制終止

>>> exec_cacl()

# 下面**給呼叫exec_cacl函式新增了異常捕捉優化處理

# 程式捕捉到異常後,會繼續向下執行,不會強制終止程式

try:

exec_cacl()

except exception, e:

print 'exec_cacl errorinfo: ', e

返回頂部

C Primer Plus第八章課後答案

其他章節答案 project 1 includeint main void project 2 includeint main void else break n if n 10 return 0 或者 includeint main void else printf c d,ch,ch n if ...

Python基礎 第八章

到斜槓與正斜槓 windows中,路徑書寫使用倒斜槓作為資料夾之間的分隔符,os x和linux上,則使用正斜槓作為它們的路徑分隔符。獲取當前工作目錄 os.getwd 即可獲得當前工作路徑的字串。絕對路徑和相對路徑 絕對路徑 總是從根資料夾開始,相對路徑 相對於程式的當前工作目錄。os.path模...

第八章 python 元組

基本上元組的每乙個資料稱元素,元素可以是整數 字串或列表等,這些元素放在小括號 內,彼此用逗號 隔開。如果要列印元組內容,可以用 print 函式,將元組名稱當作變數名稱即可。如果元組內的元素只有乙個,在定義時需在元素右邊加上逗號 例 定義與列印元組,最後使用 type 列出元組資料型別 numbe...