中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中異常的示例分析

發布時間:2021-08-26 10:54:42 來源:億速云 閱讀:160 作者:小新 欄目:開發技術

這篇文章主要介紹了Python中異常的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

簡介

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

錯誤

Python中異常的示例分析

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

再換一種方式寫錯誤:

Python中異常的示例分析

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

處理異常

使用try---except語句來處理異常。我們通常把容易產生異常的語句放置在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')

運行結果

Python中異常的示例分析

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

你還可以讓try..catch塊關聯上一個else從句。當沒有異常發生的時候,else從句將被執行。

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')

運行結果

Python中異常的示例分析

raise引發異常

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

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

運行結果

Python中異常的示例分析

try...finally

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

這里我們需要使用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')

運行結果

Python中異常的示例分析

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

Python中異常的示例分析

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

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python中異常的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

栖霞市| 武陟县| 栾川县| 小金县| 华亭县| 金堂县| 平顶山市| 登封市| 依安县| 武山县| 电白县| 女性| 岳西县| 罗江县| 巫山县| 喀什市| 富川| 蚌埠市| 安吉县| 清丰县| 三门峡市| 庆城县| 西平县| 临武县| 周至县| 台南市| 长宁县| 赣州市| 溧水县| 黔东| 保康县| 洮南市| 保德县| 洛浦县| 平湖市| 合作市| 锡林郭勒盟| 澳门| 班戈县| 西乌珠穆沁旗| 古交市|