Python基礎教程 第8章 異常

2021-06-28 10:15:54 字數 1815 閱讀 4199

1.自定義異常:繼承exception

#1.自定義異常類

#方法:從exception類繼承

class somecustomexception(exception):pass

2.處理異常

#(1)捕捉異常:try/except

try:

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

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

print x/y

except zerodivisionerror:

print "the second number couldm't be zero"

#注:如果異常沒有**捉,就會傳遞到函式呼叫的地方。

# 如果一直沒有**捉,會一直傳到程式的最頂層。

# 最終,在trackback中列印輸出。

#(2)傳遞異常:raise

class muffledcalculator:

muffled = false

def calc(self, expr):

try:

return eval(expr)

except zerodivisionerror:

if self.muffled:

print 'division by zero is illegal'

else:

raise#將異常傳遞

#(3)多個異常

#(3.1)

except zerodivisionerror:

print "......"

except typeerror:

print "......"

#(3.2)

except (zerodivisionerror, typeerror), e:

print e

#(4):捕捉全部異常:僅僅使用except(很危險,不提倡使用)

try:

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

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

print x/y

except:

#(5)try/except 和 else

while true:

try:

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

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

value = x/y

print 'x/y is', value

except exception, e:

print "the input is invalid"

print "please try again"

else:

break

#注:except語句和else語句僅僅會執行乙個。

# 當發生異常,不執行else;當沒有反生異常,執行else

#(5)finally

try:

1/0except nameerror:

print 'unknown variable'

else:

print 'that went well'

finally:

print 'other things'

Python基礎教程 第3章 字串

所有標準的序列操作 索引,分片,乘法,判斷成員資格,求長度,最大值,最小值 對字串都是同樣適用的。3.1 字串是不可變的 在python中,字串和元組一樣,都是不可變的,即一經建立就不可更改它。以下的分片賦值是不合法的 website website 3 com traceback most rec...

書山有路 Python基礎教程 第7章

本章的主題是 更加抽象 主要介紹如何建立自定義物件。建立自己的物件 類或者型別 是python的核心概念。本章還要介紹多型 封裝 方法 特性 超類以及繼承的概念。包括多型 封裝 繼承在內的特性。意味著可以對不同類的物件使用同樣的操作。就算不知道變數所引用的物件型別是什麼,還是能對它進行操作。關鍵點在...

Python基礎教程 第3章 字串

所有標準序列操作 索引 切片 乘法 成員資格檢查 長度 最小值和最 大值 都適用於字串,但別忘了字串是不可變的。在 左邊指定乙個字 符串 格式字串 並在右邊指定要設定其格式的值。format hello,s.s enough for ya?values world hot format values...