Python循環語句使用中異常現象的處理
Python循環語句在實際的使用中和C#語言中的循環沒有什么太大的區別。下面我們就來看看相關的代碼。Python循環語句中的while和for循環中支持break和continue語句。#t#
break語句用于立刻中止循環,continue語句用于直接進入下一次循環(忽略當前循環的剩余語句)。break和continue語句在C#與Python循環語句中的用法是一致的,只用于語句所在的當前循環。如果需要退出一個多重循環,應該使用異常,因為Python中沒有提供goto語句。
***,Python中的循環還支持else語句,它只在循環正常完成后運行(for和while循環),或者在循環條件不成立時立即運行(僅while循環),或者迭代序列為空時立即執行(僅for循環)。如果循環使用break語句退出的話,else語句將被忽略。下面的代碼用于說明else在循環中的應用。
- # while-else
- while i < 10:
- ii = i + 1
- else:
- print 'Done'
- # for-else
- for a in s:
- if a == 'Foo':
- break10 else:
- print 'Not found!'
異常
Python循環語句和C#一樣支持異常處理,利用try/except/finally結構,可以很方便的捕獲異常,同時可以用raise語句手動拋出異常(上述四個異常處理的關鍵字分別對應C#中的try/catch/finally/throw)。通過except,您可以將try標示的語句中出現的錯誤和異常捕獲,except可以接受參數作為要捕獲的異常,如果想要捕獲多個異常,可以使用元組(tuple)作為參數。沒有參數的except被認為是捕獲所有異常。而finally則用來在***執行一定要運行的代碼,例如資源回收。下面是一個簡單的例子,來說明Python中的異常處理方式:
- try:
- f = open('thefile.txt')
- s = f.readline()
- ...
- except IOError, (errno, strerror):
- print "I/O error(%s): %s" % (errno, strerror)
- except ValueError:
- print "Could not convert data to an integer."
- except:
- print "Unexpected error:", sys.exc_info()[0]
- raise
- finally:f.close()
***說明一點,Python循環語句的try也支持else語句。如果有一些代碼要在try沒有發生異常的情況下才執行,就可以把它放到else中(這一點與finally不同,finally分支無論如何都會被執行)。
關于異常處理我們就簡單介紹到這里,若需了解更多關于Python循環語句異常處理類、內建異常類型、自定義異常等內容。