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

淺談python拋出異常、自定義異常, 傳遞異常

 更新時(shí)間:2016年06月20日 08:55:56   投稿:hebedich  
本文給大家簡(jiǎn)單匯總了下Python中拋出異常、自定義異常,傳遞異常的簡(jiǎn)單應(yīng)用,有需要的小伙伴可以參考下

一. 拋出異常

Python用異常對(duì)象(exception object)表示異常情況,遇到錯(cuò)誤后,會(huì)引發(fā)異常。如果異常對(duì)象并未被處理或捕捉,程序就會(huì)用所謂的回溯(Traceback,一種錯(cuò)誤信息)終止執(zhí)行。

raise 語(yǔ)句

Python中的raise 關(guān)鍵字用于引發(fā)一個(gè)異常,基本上和C#和Java中的throw關(guān)鍵字相同,如下所示:

import traceback

def throw_error():
  raise Exception("拋出一個(gè)異常")#異常被拋出,print函數(shù)無(wú)法執(zhí)行
  print("飛天豬")
  
throw_error()

#運(yùn)行結(jié)果:

'''Traceback (most recent call last):
 File "C:\Users\Administrator\Desktop\systray.py", line 7, in <module>
  throw_error()
 File "C:\Users\Administrator\Desktop\systray.py", line 4, in throw_error
  raise Exception("拋出一個(gè)異常")#異常被拋出,print函數(shù)無(wú)法執(zhí)行
Exception: 拋出一個(gè)異常'''

raise關(guān)鍵字后面是拋出是一個(gè)通用的異常類型(Exception),一般來(lái)說(shuō)拋出的異常越詳細(xì)越好

二.傳遞異常:

捕捉到了異常,但是又想重新引發(fā)它(傳遞異常),可以使用不帶參數(shù)的raise語(yǔ)句即可:

class MufCalc(object):
  m = False
  def calc(self,exp):
    try:
      return eval(exp)
    except ZeroDivisionError:
      if self.m:
        print("cool")
      else:
        raise

app = MufCalc()
app.calc(2/0)

三.自定義異常類型

Python中也可以自定義自己的特殊類型的異常,只需要要從Exception類繼承(直接或間接)即可:

class MyError(Exception):
  pass

相關(guān)文章

  • python?魔法方法之?__?slots?__的實(shí)現(xiàn)

    python?魔法方法之?__?slots?__的實(shí)現(xiàn)

    本文主要介紹了python?魔法方法之?__?slots?__的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • python實(shí)現(xiàn)批量改文件名稱的方法

    python實(shí)現(xiàn)批量改文件名稱的方法

    這篇文章主要介紹了python實(shí)現(xiàn)批量改文件名稱的方法,涉及Python中os模塊rename方法的相關(guān)使用技巧,需要的朋友可以參考下
    2015-05-05
  • Python入門篇之函數(shù)

    Python入門篇之函數(shù)

    本篇文章將介紹如何將語(yǔ)句組織成函數(shù),以及參數(shù)概念以及在程序中的用途,需要的朋友可以參考下
    2014-10-10
  • python markdown轉(zhuǎn)html自定義實(shí)現(xiàn)工具解析

    python markdown轉(zhuǎn)html自定義實(shí)現(xiàn)工具解析

    Python-Markdown2 是一個(gè) Python 庫(kù),用于將 Markdown 文本轉(zhuǎn)換為 HTML,它是對(duì)標(biāo)準(zhǔn) Markdown 語(yǔ)法的擴(kuò)展,提供了一些額外的功能和選項(xiàng),同時(shí)還兼容標(biāo)準(zhǔn) Markdown,用它可以方便地生成漂亮的文檔、博客文章、項(xiàng)目文檔等
    2024-01-01
  • 關(guān)于adfuller函數(shù)返回值的參數(shù)說(shuō)明與記錄

    關(guān)于adfuller函數(shù)返回值的參數(shù)說(shuō)明與記錄

    這篇文章主要介紹了關(guān)于adfuller函數(shù)返回值的參數(shù)說(shuō)明與記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 淺談pycharm下找不到sqlalchemy的問(wèn)題

    淺談pycharm下找不到sqlalchemy的問(wèn)題

    今天小編就為大家分享一篇淺談pycharm下找不到sqlalchemy的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • opencv深入淺出了解機(jī)器學(xué)習(xí)和深度學(xué)習(xí)

    opencv深入淺出了解機(jī)器學(xué)習(xí)和深度學(xué)習(xí)

    機(jī)器學(xué)習(xí)是人工智能的核心,專門研究如何讓計(jì)算機(jī)模擬和學(xué)習(xí)人類的行為。?深度學(xué)習(xí)是機(jī)器學(xué)習(xí)中的一個(gè)熱門研究方向,它主要研究樣本數(shù)據(jù)的內(nèi)在規(guī)律和表示層次,讓計(jì)算機(jī)能夠讓人一樣具有分析與學(xué)習(xí)能力
    2022-03-03
  • 利用Python中的mock庫(kù)對(duì)Python代碼進(jìn)行模擬測(cè)試

    利用Python中的mock庫(kù)對(duì)Python代碼進(jìn)行模擬測(cè)試

    這篇文章主要介紹了利用Python中的mock庫(kù)對(duì)Python代碼進(jìn)行模擬測(cè)試,mock庫(kù)自從Python3.3依賴成為了Python的內(nèi)置庫(kù),本文也等于介紹了該庫(kù)的用法,需要的朋友可以參考下
    2015-04-04
  • pandas.DataFrame中提取特定類型dtype的列

    pandas.DataFrame中提取特定類型dtype的列

    本文主要介紹了pandas.DataFrame中提取特定類型dtype的列,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 利用Python實(shí)現(xiàn)模擬登錄知乎

    利用Python實(shí)現(xiàn)模擬登錄知乎

    這篇文章主要為大家介紹了如何利用Python實(shí)現(xiàn)模擬登陸知乎功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定幫助,需要的可以參考一下
    2022-05-05

最新評(píng)論