(更新时间)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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月12日 22时25分19秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
k8s单机版[ microk8s ]
2019-04-29
docker系列6 :k8s集群[ 解压安装 ]
2019-04-29
maven- idea: 打包可执行jar
2019-04-29
docker系列2: windows安装docker
2019-04-29
hbase数据转移: 导入导出
2019-04-29
docker系列7: docker搭建mysql
2019-04-29
windows server 2012设置远程连接断开后自动注销
2019-04-29
python基础:list,map,open()文件读写
2019-04-29
Go面向对象-接口
2019-04-29
Go-多路选择和超时控制
2019-04-29
Go-channel的关闭和广播
2019-04-29
Go-任务的取消
2019-04-29
AIX 作为Web Server 使用时,tcp相关的几个参数调整
2019-04-29
自我学习37:请描述一下网页从开始请求到最后展示的完整过程
2019-04-29
自我学习38:如何区分前后端BUG
2019-04-29
自我学习39:接口自动化测试用例&功能测试用例区别
2019-04-29
mirror去兔子补丁下载 附安装教程
2019-04-29
mirror去兔子补丁 v3.0附安装教程
2019-04-29
mirror去兔子补丁为什么还有兔子_mirror去兔子补丁使用教程
2019-04-29
3dmax2012安装教程
2019-04-29