最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

從0開始的Python學(xué)習(xí)016異常

 更新時間:2019年04月08日 14:38:23   作者:Happy丶Liu  
這篇文章主要介紹了Python異常,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

簡介

當(dāng)你的程序不能正常運行的時候,Python會在控制臺打印一段提醒,告訴你一個錯誤,這個錯誤就是異常。

錯誤

我在控制臺寫了一段無效的代碼,將print()的括號去掉,在執(zhí)行這條語句的時候,系統(tǒng)提示語法錯誤,無效的語句(我百度翻譯的)。這就是錯誤處理器所作的工作。

再換一種方式寫錯誤:

在程序獲取用戶輸入的時候,我們使用CTRL+d引發(fā)了一個EOFError錯誤,接下來我們嘗試去處理這樣的錯誤。

處理異常

使用try---except語句來處理異常。我們通常把容易產(chǎn)生異常的語句放置在try塊中,把做異常處理的語句放在except塊中。

import sys

try:
  a = input('Enter something:')
except(EOFError):
  print('\nWhy did you do an EOF on me ?')
  sys.exit()
except:
  print('\nSome error/exception occurred.')

print('Done')

運行結(jié)果

我們把所有可能引發(fā)錯誤的語句放在try塊中,然后在except從句/塊中處理所有的錯誤和異常。except從句可以專門處理單一的錯誤或異常,或者一組包括在圓括號內(nèi)的錯誤/異常。如果沒有給出錯誤或異常的名稱,它會處理 所有的 錯誤和異常。對于每個try從句,至少都有一個相關(guān)聯(lián)的except從句。

你還可以讓try..catch塊關(guān)聯(lián)上一個else從句。當(dāng)沒有異常發(fā)生的時候,else從句將被執(zhí)行。

import sys

try:
  a = input('Enter something:')
except(EOFError):
  print('\nWhy did you do an EOF on me ?')
  sys.exit()
except:
  print('\nSome error/exception occurred.')
else:
  print('no error')

print('Done')

運行結(jié)果

raise引發(fā)異常

你可以使用raise語句拋出異常。你需要指明錯誤/異常的名稱和伴隨異常觸發(fā)的異常對象。這個異常應(yīng)該是Error和Exception類的子類。這就用到了繼承的思想,使用__init__方法初始一些方法和參數(shù)。

class ShortInputException(Exception):
  def __init__(self,length,atleast):
    Exception.__init__(self)
    self.length = length
    self.atleast = atleast

try:
  s = input('Enter something-->')
  print(len(s))
  if len(s) < 3:
    raise ShortInputException(len(s),atleast = 3)
except(EOFError):
  print('\nWhy did you do an EOF on me ?')
except(ShortInputException) as x:
  print('ShortInputException: The in input was of length %d,\
      was expecting at least %d' % (x.length,x.atleast))
else:
  print('No exception was raised.')

運行結(jié)果

try...finally

假如在你讀文件的時候發(fā)生了異常,但是無論如何文件都要關(guān)閉。這個時候該怎么做呢?

這里我們需要使用finally塊來完成。

在使用try捕獲異常的時候,我們可以同時使用except塊和finally塊。

import time

try:
  f = open('poem.txt')
  while True: # our usual file-reading idiom
    line = f.readline()
    if len(line) == 0:
      break
    time.sleep(2)
    print(line)
finally:
  f.close()
  print('Cleaning up...closed the file')

運行結(jié)果

這里使用了time的sleep函數(shù),里面的參數(shù)是它的運行間隔。

這樣我們就有時間去使用CTRL+c使程序發(fā)生異常。這時候我們發(fā)現(xiàn)finally塊中的語句還是運行的,文件正常關(guān)閉了。

簡極(∞+∞=∞ ∞-∞=∞)

以上所述是小編給大家介紹的Python異常詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • python smtplib發(fā)送帶附件郵件小程序

    python smtplib發(fā)送帶附件郵件小程序

    這篇文章主要為大家詳細(xì)介紹了python smtplib發(fā)送帶附件郵件小程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Python實現(xiàn)圖數(shù)據(jù)處理的完整指南

    Python實現(xiàn)圖數(shù)據(jù)處理的完整指南

    圖是一種非常重要的數(shù)據(jù)結(jié)構(gòu),在Python中,我們可以使用鄰接矩陣來表示圖,這篇文章主要為大家介紹了Python實現(xiàn)圖數(shù)據(jù)處理的相關(guān)知識,需要的可以參考下
    2024-04-04
  • Python pip install如何修改默認(rèn)下載路徑

    Python pip install如何修改默認(rèn)下載路徑

    這篇文章主要介紹了Python pip install如何修改默認(rèn)下載路徑,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Python入門篇之條件、循環(huán)

    Python入門篇之條件、循環(huán)

    本文的主要內(nèi)容是 Python 的條件和循環(huán)語句以及與它們相關(guān)的部分. 我們會深入探討if, while, for以及與他們相搭配的else,elif,break,continue和pass語句.
    2014-10-10
  • 最新評論

    页游| 容城县| 莱阳市| 红原县| 崇仁县| 安陆市| 闽清县| 台中市| 工布江达县| 新平| 汶川县| 黄骅市| 绥中县| 长汀县| 普宁市| 大荔县| 阿拉善右旗| 西丰县| 辽源市| 金平| 林周县| 江门市| 湖口县| 临西县| 廉江市| 漯河市| 天柱县| 南通市| 区。| 武夷山市| 涪陵区| 犍为县| 承德市| 吉林省| 禹城市| 黑山县| 石门县| 商水县| 新余市| 视频| 诸暨市|