浅谈python抛出异常、自定义异常, 传递异常

 更新时间:2016年06月20日 08:55:56   投稿:hebedich  
本文给大家简单汇总了下Python中抛出异常、自定义异常,传递异常的简单应用,有需要的小伙伴可以参考下

一. 抛出异常

Python用异常对象(exception object)表示异常情况,遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(Traceback,一种错误信息)终止执行。

raise 语句

Python中的raise 关键字用于引发一个异常,基本上和C#和Java中的throw关键字相同,如下所示:

import traceback

def throw_error():
  raise Exception("抛出一个异常")#异常被抛出,print函数无法执行
  print("飞天猪")
  
throw_error()

#运行结果:

'''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("抛出一个异常")#异常被抛出,print函数无法执行
Exception: 抛出一个异常'''

raise关键字后面是抛出是一个通用的异常类型(Exception),一般来说抛出的异常越详细越好

二.传递异常:

捕捉到了异常,但是又想重新引发它(传递异常),可以使用不带参数的raise语句即可:

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

相关文章

  • 一篇文章带你了解python集合基础

    一篇文章带你了解python集合基础

    今天小编就为大家分享一篇关于Python中的集合介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2021-08-08
  • 在Python中进行自动化单元测试的教程

    在Python中进行自动化单元测试的教程

    这篇文章主要介绍了在Python中进行自动化单元测试的教程,本文来自于IBM官方文档,需要的朋友可以参考下
    2015-04-04
  • python中sort()函数用法详解

    python中sort()函数用法详解

    Python和Java等编程语言一样,提供了一种自动排序的方法,Java中是Arrays.sort()方法,而Python中是sort()方法,下面这篇文章主要给大家介绍了关于python中sort()函数用法的相关资料,需要的朋友可以参考下
    2022-08-08
  • 使用apidocJs快速生成在线文档的实例讲解

    使用apidocJs快速生成在线文档的实例讲解

    下面小编就为大家分享一篇使用apidocJs快速生成在线文档的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • 使用Python生成XML的方法实例

    使用Python生成XML的方法实例

    这篇文章主要介绍了使用Python生成XML的方法,结合具体实例形式详细分析了Python生成xml文件的具体流畅与相关注意事项,需要的朋友可以参考下
    2017-03-03
  • Python如何实现网络自动化运维华为设备

    Python如何实现网络自动化运维华为设备

    本文介绍了如何使用Python实现华为设备的网络自动化运维,包括环境配置、设备配置、功能模块实现和SFTP文件传输测试
    2024-11-11
  • 用python实现百度翻译的示例代码

    用python实现百度翻译的示例代码

    这篇文章主要介绍了用python实现百度翻译的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • caffe的python接口生成配置文件学习

    caffe的python接口生成配置文件学习

    这篇文章主要介绍了caffe的python接口生成配置文件学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Python替换月份为英文缩写的实现方法

    Python替换月份为英文缩写的实现方法

    今天小编就为大家分享一篇Python替换月份为英文缩写的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Opencv-Python图像透视变换cv2.warpPerspective的示例

    Opencv-Python图像透视变换cv2.warpPerspective的示例

    今天小编就为大家分享一篇关于Opencv-Python图像透视变换cv2.warpPerspective的示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04

最新评论