1、python使用被稱為異常的特殊物件來管理程式執行期間發生的錯誤。每當發生讓python不知所措的錯誤時,它都會建立乙個異常物件。如果編寫了處理該異常的**,程式將繼續執行,如果未對異常進行處理,程式將終止,並顯示乙個traceback,其中包含有關異常的報告。
2、使用try-except**塊
如果認為可能發生了錯誤時,可編寫乙個try-except**塊來處理可能引發的異常。如果try**塊中的**執行起來沒有問題,python將跳過except**塊;如果try**塊中的**導致了錯誤,python將查詢這樣的except**塊,並執行其中的**,即其中指定的錯誤與引發的錯誤相同。
try:
print(5/0)
except zerodivisionerror:
print("you can't divide by zero")
輸出為:
d:\www>python hello.py
you can't divide by zero
3、使用異常避免崩潰——else**塊
依賴於try**塊成功執行的**都應放在else**塊中
while true:
first_number=input("first number:")
if first_number=='q':
break;
second_number=input("second number:")
if second_number=='q':
break;
try:
answer=int(first_number)/int(second_number)
except zerodivisionerror:
print("you can't divide by 0")
else:
print(answer)
輸出為:
d:\www>python hello.py
first number:1
second number:2
0.5first number:1
second number:0
you can't divide by 0
try-except-else**塊的工作原理:
python嘗試執行try**塊中的**,只有可能引發異常的**才需要放在try語句中。有時候,有一些僅在try**塊成功執行時才能執行的**;這些**應該放在else**塊中。except**塊在嘗試執行try**塊時的**發生了指定異常時執行。
4、處理filenotfounderror異常
filename='alice.txt'
try:
with open(filename) as file_object:
context=file_object.read()
except filenotfounderror:
msg="sorry,the file "+filename+" does not exist."
print(msg)
else:
print(context)
輸出為:
d:\www>python hello.py
sorry,the file alice.txt does not exist.
d:\www>python hello.py
i am alice.
5、分析文字
filename='alice.txt'
try:
with open(filename) as file_object:
context=file_object.read()
except filenotfounderror:
msg="sorry,the file "+filename+" does not exist."
print(msg)
else:
words=context.split()
num_words=len(words)
print("the file "+filename+" has about "+str(num_words)+" words.")
輸出為:
d:\www>python hello.py
the file alice.txt has about 3 words.
6、失敗時一聲不吭
使用pass語句
def count_words(filename):
try:
with open(filename) as file_object:
context=file_object.read()
except filenotfounderror:
pass
else:
words=context.split()
num_words=len(words)
print("the file "+filename+" has about "+str(num_words)+" words.")
filenames=['alice.txt','hello.txt','data.txt']
for filename in filenames:
count_words(filename)
輸出為:
d:\www>python hello.py
the file alice.txt has about 3 words.
the file data.txt has about 7 words.
Python 異常 學習筆記
python 標準異常總結 try 和 try finally 語句 try 下面是檢測範圍,如發生異常停止在第乙個異常的位置 fh open testfile w fh.write 這是乙個測試檔案,用於測試異常 except oserror as reason 下面是出現異常後輸出的 print...
Python學習筆記 異常
1 異常概念 程式在執行是,如果python直譯器遇到乙個錯誤,會停止程式的執行,並且提示一些錯誤資訊,這就是異常 程式停止執行並且提示錯誤資訊這個動作,我們稱之為 丟擲 raise 異常 程式開發是,很難將所有的特殊情況都處理的面面俱到,通過一異常捕獲可以針對突發事件做集中的處理,從而保證程式的穩...
python學習筆記 異常
baseexception systemexit keyboardinterrupt generatorexit exception stopiteration standarderror buffererror arithmeticerror floatingpointerror overflow...