欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

簡介

當你的程序不能正常運行的時候,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從句。當沒有異常發(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)文章

  • es+flask搜索小項目實現(xiàn)分頁+高亮的示例代碼

    es+flask搜索小項目實現(xiàn)分頁+高亮的示例代碼

    本文主要介紹了es+flask搜索小項目實現(xiàn)分頁+高亮的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • python調(diào)用系統(tǒng)中應(yīng)用程序的函數(shù)示例

    python調(diào)用系統(tǒng)中應(yīng)用程序的函數(shù)示例

    這篇文章主要為大家介紹了python調(diào)用系統(tǒng)中應(yīng)用程序詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Python中Merge使用的示例詳解

    Python中Merge使用的示例詳解

    Python里的merger函數(shù)是數(shù)據(jù)分析工作中最常見的函數(shù)之一,類似于MySQL中的join函數(shù)和Excel中的vlookup函數(shù)。本文將通過一些簡單的實力和大家聊聊Merge的使用,需要的可以了解一下
    2023-02-02
  • python退出循環(huán)的方法

    python退出循環(huán)的方法

    在本篇文章里小編給大家整理的是關(guān)于python如何退出循環(huán)的相關(guān)知識點內(nèi)容,需要的朋友們可以參考下。
    2020-06-06
  • Python Scrapy實戰(zhàn)之古詩文網(wǎng)的爬取

    Python Scrapy實戰(zhàn)之古詩文網(wǎng)的爬取

    本文將利用Python中Scrapy框架,實現(xiàn)爬取古詩文網(wǎng)上的詩詞數(shù)據(jù),具體包括詩詞的標題信息。文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-05-05
  • Python人工智能深度學(xué)習(xí)模型訓(xùn)練經(jīng)驗總結(jié)

    Python人工智能深度學(xué)習(xí)模型訓(xùn)練經(jīng)驗總結(jié)

    這篇文章主要為大家介紹了Python人工智能深度學(xué)習(xí)模型訓(xùn)練的經(jīng)驗總結(jié)及建議,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • Python的gevent框架的入門教程

    Python的gevent框架的入門教程

    這篇文章主要介紹了Python的gevent框架的入門教程,示例代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • 一文帶你搞懂Python中的數(shù)據(jù)容器

    一文帶你搞懂Python中的數(shù)據(jù)容器

    這篇文章主要為大家詳細介紹了Python中數(shù)據(jù)容器的相關(guān)資料,文中的示例代碼講解詳細,對我們學(xué)習(xí)Python有一定的幫助,感興趣的可以了解一下
    2022-11-11
  • Python解決八皇后問題示例

    Python解決八皇后問題示例

    這篇文章主要介紹了Python解決八皇后問題,簡單描述了八皇后問題的原理并結(jié)合實例形式分析了Python基于遞歸算法解決八皇后問題的相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • 在pycharm中顯示python畫的圖方法

    在pycharm中顯示python畫的圖方法

    今天小編就為大家分享一篇在pycharm中顯示python畫的圖方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08

最新評論