Python學習17 異常處理(一)

2021-06-22 21:52:32 字數 2485 閱讀 5041

1、try ... except ...
我們可以使用try..except語句來處理異常。我們把通常的語句放在try-塊中,而把我們的錯誤處理語句放在except-塊中。

當試圖讀入乙個使用者輸入時,使用者按下了ctrl + d,python會跑出異常

>>> try:

s = input('請輸入乙個字串:')

except eoferror:

print('\neoferror異常處理:使用者輸入過程產生異常')

當以唯讀的方式開啟乙個不存在檔案的時候會跑出ioerror異常:因此:

#嘗試以唯讀的方式開啟乙個不存在的檔案,並進行異常處理

try:

fp = open('file.txt','r')

except ioerror:

print("異常處理:開啟檔案file.txt失敗")

#嘗試以寫入的方式開啟乙個不存在的檔案,並進行異常處理

try:

fp = open('file.txt','w')

#列印乙個沒有定義的變數,跑出nameerror異常

print(name)

except ioerror:

print("異常處理:開啟檔案file.txt失敗")

except nameerror:

print('異常處理:變數name沒有定義')

#在捕獲的異常中處理

name = 'jiezhj'

#寫入一行

fp.write(name + '\n')

fp.write(name)

fp.write(name)

fp.write(name)

fp.close()

異常的丟擲機制:1、如果在執行時發生異常,直譯器會查詢相應的處理語句(稱為handler).

2、要是在當前函式裡沒有找到的話,它會將異常傳遞給上層的呼叫函式,看看那裡能不能處理。

3、如果在最外層(全域性「main」

)還是沒有找到的話,直譯器就會退出,同時列印出

traceback

以便讓使用者找到錯誤產生的原因。

#filename : except.py

#定義乙個方法用於開啟檔案

def func(filename):

try:

#以唯讀的方式開啟檔案filename

fp = open(filename,'r')

except nameerror:

print('異常處理:函式內部異常')

except ioerror:

print('func異常處理:檔案hello.txt開啟錯誤!')

#定義乙個方法用於呼叫方法func

def callfunc():

try:

#傳遞檔名

func('hello.txt')

except ioerror:

print('callfunc異常處理:檔案hello.txt開啟錯誤!')

callfunc()

異常被func方法中的except截獲:

將方法func中的異常處理注釋掉之後,異常會向呼叫方法func的函式中丟擲

#filename : except.py

#定義乙個方法用於開啟檔案

def func(filename):

try:

#以唯讀的方式開啟檔案filename

fp = open(filename,'r')

except nameerror:

print('異常處理:函式內部異常')

#將fun中的異常處理注釋掉

# except ioerror:

# print('func異常處理:檔案hello.txt開啟錯誤!')

#定義乙個方法用於呼叫方法func

def callfunc():

try:

#傳遞檔名

func('hello.txt')

except ioerror:

print('callfunc異常處理:檔案hello.txt開啟錯誤!')

try..catch塊關聯上乙個else從句。當沒有異常發生的時候,else從句將被執行。

Python學習 異常處理

assertionerror 斷言語句失敗 assertionerror 斷言語句失敗,一般是在測試程式時置入檢查點 my list love my list.pop assert len my list 0 traceback most recent call last file line 1,i...

python學習 異常處理

class myerror exception definit self,msg self.msg msg defstr self return str self.msg 777 try 檢測try語句塊中的錯誤 print 2 0 raise myerror 主動丟擲錯誤 except myerr...

python學習 異常處理

這次的學習內容是異常處理,簡單的說就是python內建了異常檢測機制,能夠識別出類似除數為0 開啟檔案失敗這一類錯誤。因此,就可以用try except 對可能出現的錯誤進行預判,從而讓程式避開錯誤段繼續執行下去。這篇blog不準備列舉各種異常型別 它們將作為 try except 中except後...