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...