首页 > 编程语言 >python-错误和异常-主动抛

python-错误和异常-主动抛

时间:2022-11-21 15:01:31浏览次数:46  
标签:__ 10 divide 错误 python 抛出 主动 异常 分母

1.抛异常

有时,程序需要主动抛出异常,因为某些情况下,你需要反馈消息给更上层的调用者,告诉它有一些异常情况发生,而你抛出异常的地方,没有能力处理它,因此需要向上抛出异常。

这种情况为什么不让系统自己抛出异常呢?一个原因是上层的调用者本身就希望能够捕获有别于系统异常的自定义异常,二来,有些情况下,程序的逻辑是没有异常的,但是,从业务角度考虑,的确是一个不寻常的情况,因此需要我们主动抛出异常。

下面是抛出异常的一个例子

#coding=utf-8
def divide(x, y):
    if y == 0:
        raise ZeroDivisionError("0不能做分母")
    return x/y

if __name__ == '__main__':
    divide(10, 5)
    divide(10, 0)

运行结果:

Traceback (most recent call last):
  File "C:/Users/m/PycharmProjects/pythonProject/������쳣/�����׳��쳣.py", line 9, in <module>
    divide(10, 0)
  File "C:/Users/m/PycharmProjects/pythonProject/������쳣/�����׳��쳣.py", line 4, in divide
    raise ZeroDivisionError("0不能做分母")
ZeroDivisionError: 0不能做分母

抛出异常时,你可以指定抛出哪个异常,如果你不想指定,那么可以抛出异常Exception, 它是所有异常的父类

def divide(x, y):
    if y == 0:
        # raise ZeroDivisionError("0不能做分母")
          raise Exception("0不能做分母")
    return x/y

if __name__ == '__main__':
    divide(10, 5)
    divide(10, 0)

2.自定义异常类

 

标签:__,10,divide,错误,python,抛出,主动,异常,分母
From: https://www.cnblogs.com/joyware/p/16911390.html

相关文章

  • Python常用命令最全合集
    文章目录一、Python环境配置命令二、Python常用命令三、pip管理工具命令四、发布包到pypi(官网)命令Mac电脑自带python2.x版本,终端输入python-V//查看当前......
  • Python面向对象
    背景:为什么要学类1.当我们写了很多用例,我们需要组织用例以及测试执行获取测试报告,需要用到标准库unittest(其实就是一个库里面的类);2.自动化常用的driver.find_ele......
  • Python GDAL/OGR常用样例代码
    目录安装案例矢量转栅格栅格转矢量(多边形)矢量叠加矢量擦除缓冲区分析(以点为例)视域分析安装推荐使用conda安装pythongdal环境,先查询gdal可用版本,再指定版本号,按需安装对......
  • python的协程
    python协程库gevent学习--gevent数据结构及实战(三)gevent学习系列第三章,前面两章分析了大量常用几个函数的源码以及实现原理。这一章重点偏向实战了,按照官方给出的ge......
  • 解决在 Linux Deploy 中安装老版本的 Debian 无法开启 ssh 的错误
    这几天在废弃的手机和平板上尝试安装完整的Linux系统,折腾了好几天,发现很多软件对arm的支持相当不完善。源里缺很多包,自己编译也编译不过。有些软件的老版本反而是稳定的,新......
  • Python爬取酷狗音乐Top500首歌曲并下载到本地
    #@Author:林云#@Time:2022/11/2018:05#@File:KuGouYinyue.py#@Project:PycharmProjectsimportjsonimportosfromtimeimportsleepimportrequestsfromlx......
  • python安装virtualenvwrapper报错解决办法
    在执行sudopipinstall virtualenvwrapper时候,会有一个警告,一个报错1、首先报黄色警告:Thedirectory'/Users/lvxiujun/Library/Caches/pip/http'oritsparentdirect......
  • Python字符串的encode与decode研究心得乱码问题解决方法(转)
    ​​Python字符串的encode与decode研究心得乱码问题解决方法(转)​​为什么会报错“UnicodeEncodeError:'ascii'codeccan'tencodecharactersinposition0-1:o......
  • python的base64
    ​​python3.4.1下base64编码问题​​作者:廖师兄 时间:2014-09-05 分类:​​python​​初学py,学的是3.x版本,今天遇到base64编码问题importbase64encodestr=base......
  • Python psutil模块 Process 类
    psutil模块Process类如果需要了解其他跟多理解的=》Python知识点合集 如果需要查看官方手册解读的=》Process类......