Python异常处理

我们一般使用try-except语句来进行异常处理。

使用except Exception as err可以统一捕捉所有异常,而也可以分开处理单个异常。

# 分开捕捉单个异常try:num1 = int(input('Enter the first number:'))num2 - int(input('Enter the sencond number:'))print(num1 / num2)
except ValueError: #捕捉数字转化异常print('Please input a digit!')
except ZeroDivisionError: #捕捉除0异常print('The second number cannot be zero')# 两种异常一起捕捉try:num1 = int(input('Enter the first number:'))num2 - int(input('Enter the sencond number:'))print(num1 / num2)
except (ValueError,ZeroDivisionError): print('Invalid input!')# 统一捕捉所有异常try:num1 = int(input('Enter the first number:'))num2 - int(input('Enter the sencond number:'))print(num1 / num2)
except Exception as err:print('Something webt wrong!')print(err)

else语句

try-except还可以和else一起使用,如果语句中没有异常引发,那么这个else语句就会执行。

try:num1 = int(input('Enter the first number:'))num2 - int(input('Enter the sencond number:'))print(num1 / num2)
except (ValueError,ZeroDivisionError): print('Invalid input!')
else:print('Aha, everything is OK.')

循环

如果我们想要用户直到输入正确,那么就要使用循环,使用while True加上break语句

while True:try:num1 = int(input('Enter the first number:'))num2 - int(input('Enter the sencond number:'))print(num1 / num2)except (ValueError,ZeroDivisionError): print('Invalid input!')print('Aha, everything is OK.')

Finally语句

finallyelse不一样,不管有没有异常引发,finally语句都要执行。

try:num1 = int(input('Enter the first number:'))num2 - int(input('Enter the sencond number:'))print(num1 / num2)
except (ValueError,ZeroDivisionError): print('Invalid input!')
finally:print('It is a finally clause.')

上下文管理器(Context Manager)和With语句

如果我们打开文件使用下面的代码,在finally语句中,因为f可能没被成功定义,可能还是会报错。

try:f = open('data.txt')for line in f:print(line, end ='')
except IOError:print('Cannnot open the file!')
finally:f.close()

而我们可以使用下面的代码打开文件,通过这个上下文管理器可以定义和控制代码块执行前的准备动作及执行后的收尾动作。

with open('data.txt') as f:for line in f:print(line, end='')

转载于:https://www.cnblogs.com/IvyWong/p/9802933.html

【Python学习笔记】异常处理try-except相关推荐

  1. Python学习笔记-异常处理

    异常处理 Python Errors and Exceptions 官方文档 引发异常: 语法: 使用raise 关键字, raise either an exception instance or ...

  2. Python学习笔记之类型判断,异常处理,终止程序操作小结

    Python学习笔记之类型判断,异常处理,终止程序操作小结 运行结果: 这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发. 爬虫.数据分析.数据可视化.机 ...

  3. Python学习笔记(十三):异常处理机制

    Python学习笔记(十三):异常处理机制 关于Python的异常处理机制 Python学习笔记(十三):异常处理机制 一.异常处理机制 常见异常类型 二.异常处理 try...except 异常类的 ...

  4. python学习笔记目录

    人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...

  5. 前阿里大佬干货分享,0基础小白,转行必看Python学习笔记(七)

    Python学习笔记7 异常处理 包和模块 包和模块的一般操作 导入操作的本质 模块检索的路径 导入模块的场景 第三方包和模块的安装 异常处理 系统内部一开始已经内置了一些特定的错误场景,当我们触发了 ...

  6. PYTHON学习笔记之(一)2020.08

    PYTHON学习笔记之(一)2020.08 Python基础 数据类型 常见的列表.字典,以及元组.集合. 1 列表 list 1.1 列表转换字符串 stu = ['王一', '李二', '张三'] ...

  7. python学习笔记,初学者Python3

    Python学习笔记 不推荐将python作为主力语言,但推荐作为一个辅助语言,用于日常的一些小的任务 python目前主要的应用场景: 1.机器学习,人工智能 2.爬虫 3.数据分析 4.自动化,运 ...

  8. 我的python学习笔记全集_Python学习笔记(1):助你我一起共同成长

    最近在学习python时,萌生了一个想法,把自己在学习过程中的知识做一个笔记再分享出来,既帮助了大家又能让自己重温知识,今天就发一下python学习笔记(1),助你我一起成长! 一.Python初识与 ...

  9. 零基础学Python学习笔记

    Python学习笔记 代码下载地址 链接:https://pan.baidu.com/s/1yGnpfq4ZHeKpt4V0J_PTSg 提取码:hmzs 1. Python 基础语法 1.1 基本数 ...

  10. python学习笔记(一)Python 简单介绍

    Python学习笔记(一)Python 简单介绍 Python介绍 Python简介 Python应用领域 Python是解释型的语⾔ 编译和解释的区别是什么? 编译型vs解释型 编译型 解释型 Py ...

最新文章

  1. [Springboot实战] 集成 Caffeine
  2. 智能拨号的联系人快速模糊匹配的算法
  3. 工信部等六部门公布2021年度国家绿色数据中心名单
  4. mysql二进制安装的优缺点_MYSQL的二进制安装
  5. Android开发之下载Apk安装的方法兼容Android7.0和8.0及以上
  6. PAT_B_1012_Java(20分)
  7. Redis整合Springboot实现数据共享
  8. 逆水寒斩鸿蒙称号,逆水寒胆大包天称号怎么获得 逆水寒胆大包天称号获得方法一览...
  9. 操作手册模板_挂蓝悬臂浇筑箱梁施工技术操作手册
  10. batocera游戏整合包_安装游戏时电脑报错?提示XXX文件缺失?一个软件完美解决...
  11. 基于iTextSharp(C#)创建PDF文件
  12. 【转下载】黑莓7290中文说明书
  13. python内存泄漏_python 泄漏
  14. 程序员深度体验一周ChatGPT发现竟然....
  15. Linux 故障排查-测试网络端口连通性
  16. 2017年乌镇互联网大会嘉宾分享要点实录
  17. bt面板从7.1升级到7.5.2之后网络挂了
  18. mysql日期对应java类型_Mysql与Java日期类型
  19. cmd - 切换目录命令cd失效(切换目录失效)
  20. EXCEL条件格式(一)

热门文章

  1. 不可多得的Javascript(AJAX)开发工具 - Aptana
  2. 实现日志管理的两种方式:aop、拦截器
  3. CentOS6.8网络接口配置文件ifcfg-eth0
  4. 使用DiskGenius对虚拟机磁盘进行压缩
  5. Ubuntu18.04提示wifi无法连接
  6. 实用比较,帮你决策到底选择Vue还是Angular4、5
  7. Facebook、LinkedIn、Airbnb、Google专家聚首QCon,他们会带来什么?
  8. 计算机专业的一个四年工作的总结
  9. 1001.Reverse Root
  10. WIN7做无线路由供手机上网