(更新时间)2021年3月25日 python基础知识(异常的捕获)
发布日期:2021-06-29 15:14:47 浏览次数:3 分类:技术文章

本文共 2736 字,大约阅读时间需要 9 分钟。

1.异常的捕获

<1>捕获单个异常

# 异常: 程序代码在运行过程中遇到的错误, 程序会报错,会终止程序代码的运行.# 异常捕获: 是指在程序代码运行过程中,遇到错误, 不让程序代码终止,让其继续运行, 同时可以给使用者一个提示信息# 并记录这个错误, 便于后期改进"""try:    可能发生异常的代码except 异常的类型:    发生异常执行的代码"""print('其他的代码......')num = input('请输入一个数字:')# ZeroDivisionError: division by zero# ValueError: invalid literal for int() with base 10: 'a'try:    num = 10 / int(num)    print('计算得到的结果是:', num)except ZeroDivisionError:    print('你输入有误,请再次输入')print('其他的代码......')

<2>捕获多个异常

try:    print('-----test--1---')    open('123.txt','r') # 如果123.txt文件不存在,那么会产生 IOError 异常    print('-----test--2---')    print(num)# 如果num变量没有定义,那么会产生 NameError 异常except (IOError,NameError):     #如果想通过一次except捕获到多个异常可以用一个元组的方式
"""try:    可能发生异常的代码except (异常的类型1, 异常类型2, ...):    发生异常执行的代码"""# print('其他的代码......')# num = input('请输入一个数字:')# # ZeroDivisionError: division by zero# # ValueError: invalid literal for int() with base 10: 'a'# try:#     a = int(num)#     num = 10 / a#     print('计算得到的结果是:', num)# except (ZeroDivisionError, ValueError):#     print('你输入有误,请再次输入')## print('其他的代码......')"""try:    可能发生异常的代码except 异常类型1:    发生异常1,执行的代码except 异常类型2:    发生异常2,执行的代码except ...:    pass"""print('其他的代码......')num = input('请输入一个数字:')# ZeroDivisionError: division by zero# ValueError: invalid literal for int() with base 10: 'a'try:    a = int(num)    num = 10 / a    print('计算得到的结果是:', num)except ZeroDivisionError:    print('你输入有误,请再次输入')except ValueError:    print('输入有误,请输入数字')print('其他的代码......')

<3>获取异常的信息描述

"""try:    可能发生异常的代码except (异常的类型1, 异常类型2, ...) as 变量名:    发生异常执行的代码    print(变量名)"""print('其他的代码......')num = input('请输入一个数字:')# ZeroDivisionError: division by zero# ValueError: invalid literal for int() with base 10: 'a'try:    a = int(num)    num = 10 / a    print('计算得到的结果是:', num)except (ZeroDivisionError, ValueError) as e:    print('你输入有误,请再次输入', e)print('其他的代码......')

<4>捕获所有异常

try:    可能发生异常的代码except:   # 缺点, 不能获取异常的描述信息    发生异常执行的代码        ==============try:    可能发生异常的代码except Exception as e:    发生异常执行的代码    print(e)    pass# Exception 是常见异常类的父类,ZeroDivisionError --> ArithmeticError --> Exception --> BaseException  ---> objectValueError --> Exception --> BaseException  ---> object
print('其他的代码......')num = input('请输入一个数字:')try:    a = int(num)    num = 10 / a    print('计算得到的结果是:', num)    f = open('1.txt', 'r')except Exception as e:    print('你输入有误,请再次输入', e)print('其他的代码......')

<4>异常的完整结构

try:    可能发生异常的代码except Exception as e:    发生异常执行的代码    print(e)else:    代码没有发生异常,会执行finally:    不管有没有发生异常,都会执行
print('其他的代码......')num = input('请输入一个数字:')try:    a = int(num)    num = 10 / a    print('计算得到的结果是:', num)except Exception as e:    print('你输入有误,请再次输入', e)else:    print('没有发生异常,我会会执行')finally:    print('不管有没有发生异常,我都会执行')print('其他的代码......')

转载地址:https://codeboy.blog.csdn.net/article/details/115215779 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:(更新时间)2021年3月26日 python基础知识(异常的传递)
下一篇:(更新时间)2021年3月25日 python基础知识(静态方法和类方法)

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月12日 22时25分19秒