Python——第五章:处理异常try、except、else、finally
处理异常try 和 except
在 Python 中,try 和 except 语句用于处理异常(错误)。通过使用这两个关键字,你可以编写代码来捕获和处理可能发生的异常,以保持程序的稳定性。
try:
try 代码
except 错误1 as 变量1:
except1代码
except 错误2 as 变量2:
except2代码
except 错误3 as 变量3:
except3代码
else:
没有异常发生时执行的代码
finally:
始终会执行的代码
try块包含可能引发异常的代码。如果发生异常,程序将跳转到except块,执行异常处理代码。except块可以存在多个,你可以使用多个except块来处理不同类型的异常:except块会进行判断,如果符合其中某个except块的错误模式,则执行某个except块下的内容- 为了把所有的异常都接到,通常会使用
except Exception as e:来收尾(因为所有的异常,都是Exception),你可以使用变量(例如e)来获取异常对象的信息,并可以返回输出。 else块中的代码将在try块中的代码没有引发异常时执行。finally块中的代码始终都会执行,无论是否发生异常。
try:
# 代码块,可能引发异常的地方
result = 10 / 0 # 除数不能为0
open("hehehehehehehe", mode="r").read() # 不存在的文件
lst = [] # 空列表不能被迭代
lst.__iter__().__next__()
except ZeroDivisionError:
# 处理除以零的异常
print('除数不能为0!')
except Exception as e:
# 异常处理块,处理发生的异常
print(f'有异常发生: {e}')
else:
# 没有异常发生时执行的代码
print(f'计算结果为: {result}')
finally:
# 始终会执行的代码
print("执行完记得关闭数据库!!!")
抛出异常raise
raise Exception 让程序主动抛出异常,比简单的print()的提示强硬很多
def func(a, b):
if type(a) == int and type(b) == int:
return a + b
else:
# 程序会主动抛出异常,谁调用该函数,谁接收该异常
raise Exception("你提交的不是int类型,func行数如法进行计算") # print("a和b必须为数字")
func("呵呵", 3)
- 谁调用该函数,谁接收该异常
- 架构师经常会做主动抛出异常的操作,会对项目有较强的掌控力。
Python——第五章:处理异常try、except、else、finally的更多相关文章
- Python第五章__模块介绍,常用内置模块
Python第五章__模块介绍,常用内置模块 欢迎加入Linux_Python学习群 群号:478616847 目录: 模块与导入介绍 包的介绍 time &datetime模块 rando ...
- 简学Python第五章__模块介绍,常用内置模块
Python第五章__模块介绍,常用内置模块 欢迎加入Linux_Python学习群 群号:478616847 目录: 模块与导入介绍 包的介绍 time &datetime模块 rando ...
- “全栈2019”Java异常第十五章:异常链详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- Python第五章实验报告
一.实验项目名称:<零基础学Python>第五章实战.实例以及两道作业题 二.实验目的和要求:了解和掌握操作字符串的方法和正则表达式的应用 三.实验环境:IDLE(Python 3.9 6 ...
- Python第五章-内置数据结构05-集合
Python内置数据结构 五.集合(set) python 还提供了另外一种数据类型:set. set用于包含一组无序的不重复对象.所以set中的元素有点像dict的key.这是set与 list的最 ...
- Python第五章-内置数据结构01-字符串
Python 内置的数据结构 到目前为止,我们如果想保存一些数据,只能通过变量.但是如果遇到较多的数据要保存,这个时候时候用变量就变的不太现实. 我们需要能够保存大量数据的类似变量的东东,这种 ...
- 流畅的python第五章一等函数学习记录
在python中,函数是一等对象,一等对象是满足以下条件的程序实体 1在运行时创建 2能复制给变量或数据结构的元素 3能作为参数传给函数 4能作为函数的返回结果 高阶函数(接受函数作为参数或者把函数作 ...
- Python第五章-内置数据结构04-字典
Python 内置的数据结构 四.字典(dict) 字典也是 python 提供给我们的又一个非常重要且有用的数据结构. 字典在别的语言中有时叫关联数组.关联内存.Map等. 字典中存储的是一系列的k ...
- Python第五章-内置数据结构03-元组
Python 内置的数据结构 三.元组(tuple) python 作为一个发展中的语言,也提供了其他的一些数据类型. tuple也是 python 中一个标准的序列类型. 他的一些操作和str和li ...
- Python第五章-内置数据结构02-列表
Python 内置的数据结构 二.列表(list) 想一想: 前面学习的字符串可以用来存储一串信息,那么想一想,怎样存储咱们班所有同学的名字呢? 定义100个变量,每个变量存放一个学生的姓名可行吗?有 ...
随机推荐
- 如何成功将 API 客户的 transformer 模型推理速度加快 100 倍
Transformers 已成为世界各地数据科学家用以探索最先进 NLP 模型.构建新 NLP 模块的默认库.它拥有超过 5000 个预训练和微调的模型,支持 250 多种语言,任君取用.无论你使用哪 ...
- 【效率提升】maven 转 gradle 实战
一.灵魂三问 1.gradle 是什么? 一个打包工具, 是一个开源构建自动化工具,足够灵活,可以构建几乎任何类型的软件,高性能.可扩展.能洞察等.其中洞察,可以用于分析构建过程中数据,提供分析参考, ...
- nacos2.X版本无法注册的几个原因以及解决方案(踩坑避雷!)
在使用nacos+dubbo 注册服务的时候 遇到了无法注册的问题 记录一下踩的坑以及解决方案 com.alibaba.nacos.api.exception.NacosException: Requ ...
- day1 C语言:对于P1055 ISBN号码的代码优化及多解
day1 C语言:对于P1055 ISBN号码的代码优化及多解 先看题目 直接说最优解,其他方法后置 第一部分 1.第一个点是数据的输入,本人第一的想法是直接用int类型去接受数据,但因为" ...
- windows系统和IE的兼容性问题
IE浏览器用户正在逐步减少,但是以前的基数较大,为了解决win和ie的版本混乱问题,特记录一下: 一.从操作系统角度出发: XP最高支持到IE8,XP支持ie6,ie7,ie8 WIN7自带 ...
- Telegram 正式引入国产小程序技术
Telegram 宣布为其开发者提供了一项"能够在 App 中运行迷你应用"的新功能( 迷你应用即 Mini App,下文中以"小程序"代替). 在一篇博客文章 ...
- eNSP小实验——配置路由器与主机
练习一 在eNSP里配置路由器与主机,IP地址与端口 配置PC1 配置PC2,特别注意IP地址与网关 配置路由器一 <Huawei>sys[Huawei]int g0/0/0 [Huawe ...
- 用结构化思维解一切BUG(1):核心思路
面对万"卷"世界,有人选择拼命学习新技术,解决眼前的.点状问题:有人提升思维层级,解决未来的.系统问题.您选择什么? 背景 我有10多年编程经验和研发管理经历,虽很久不写代码,但有 ...
- JVM-内部类分析
一.内部类和外部类调用及字节码解释 外部类使用 内部类: 非静态内部类: JVM字节码 非静态内部类类 多了一个外部类对象的属性:final synthetic Field this$0:" ...
- 02Java学习_注意事项和学习方法
02_Java 开发注意事项细节和学习方法 目录 02_Java 开发注意事项细节和学习方法 注意事项 学习方法 注意事项 .java 是 Java 文件的拓展名.源文件的基本组成部分是类--clas ...