首页 > 编程语言 >python-错误和异常-捕获异常

python-错误和异常-捕获异常

时间:2022-11-16 15:57:14浏览次数:42  
标签:__ 10 python 捕获 except try test print 异常

1.try

python中,捕获异常使用try ... except ...这种语法来捕捉异常,下面是一个异常捕获的示例

#coding=utf-8
def test(a, b):
    try:
        print(a/b)
    except ZeroDivisionError:
        print("0不能作分母")

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

运行结果:

2
0不能作分母

那些你担心不安全的代码,就可以放在try子句中,也就是try和except之间。

2.except 

2.1 捕获异常时不提示

def test(a, b):
    try:
        print(a/b)
    except (ZeroDivisionError, ValueError):
        return None

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

运行结果:2

2.2 逐个捕获异常

def test(a,b):
    try:
        print (a/b);
    except ZeroDivisionError:
        print('0不能做分母')
    except ValueError:
        print("类型错误")
    else:
        print('什么异常都没发生')
if __name__ =='__main__':
    test(10,5)
    test(10,0)

运行结果:

2
什么异常都没发生
0不能做分母

3.finally

你可以在finally语句块里做清理操作,因为不论try子句里是否发生异常,也不论你在except语句块里做了什么操作,总之,最终一定会执行finally语句块里的代码,这就保证了这里的代码最后一定会被执行,所以,清理收尾的工作一定会进行。

你可以在这里输出日志,你可以做任何你想做的事情。

def divide(x, y):
    try:
        result = x / y
    except ZeroDivisionError:
        print("division by zero!")
    else:
        print("result is", result)
    finally:
        print("executing finally clause")

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

运行结果:

('result is', 2)
executing finally clause
division by zero!
executing finally clause

 

标签:__,10,python,捕获,except,try,test,print,异常
From: https://www.cnblogs.com/joyware/p/16896158.html

相关文章

  • python 基础操作 plus
    将python列表中的多个列表转化为一个列表:列表的扁平化处理总结方法一:使用itertools#速度最快importitertoolsa=[[1,2,3,4],[4,4,5,6],[7],[7,8,......
  • python---三十五期
    昨日内容回顾软件开发架构1.C/S架构 客户端、服务端2.B/S架构 浏览器、服务器B/S本质也是C/S架构网络编程前戏基于网络实现数据交互计算机之间要想实现数据......
  • python multiprocessing 多进程
    1获取进程id当我们运行py文件时,该程序的运行就是一个进程,如果在该进程中又创建了其他进程,那么该进程就是主进程,创建的其他进程就是子进程。下面我们通过通过os库中的方法......
  • Python的类和对象
    1.类和对象的定义类用class关键字声明,类中的变量成为属性,函数成为方法,定义方法的时候,需要带上self参数。例:classPerson:#默认继承Object父......
  • c++调用python
    cmakelistscmake_minimum_required(VERSION3.20)project(python_test)set(PYTHON_INCLUDE_DIRS"/home/ubuntu/miniconda3/envs/python38/include/python3.8")INCLUD......
  • windows下开机自启python服务
    一、编辑statrtRunRecService.bat文件@echooffcallactivateD:\applications\Anaconda\envs\py_36_flaskechopwddiris%cd%cd/dD:\work_dwy\AisaBankRecon......
  • 习题整理【Python】
    习题整理【Python】​​前言​​​​Python​​​​Python_1​​​​Python_2​​​​Python_3​​​​Python_4​​​​Python_5​​​​Python_6​​​​Python_7​​​​......
  • 微软开源最强Python自动化神器Playwright!不用写一行代码!自动生成代码还竟然如此流畅!妈
    安装#安装playwright库pipinstallplaywright#安装浏览器驱动文件python-mplaywrightinstall#再安装playwrightinstall要求:python版本3.7+使用Playwright无需写一行......
  • 【Python基础】科学计算库Scipy简易入门
    0.导语Scipy是一个用于数学、科学、工程领域的常用软件包,可以处理插值、积分、优化、图像处理、常微分方程数值解的求解、信号处理等问题。它用于有效计算Numpy矩阵,使Numpy......
  • 08python元组
    这一篇问文章主要介绍元组的相关知识。元组:不可修改的序列与列表一样,元组也是序列,唯一的差别在于元组是不能修改的(同样的,字符串也不能修改)。元组的语法很简单。>>>......