网站备案证书放到哪里,华东建设发展设计有限公司网站,北京网络营销招聘网,建设银行手机绑定网站#x1f4dd;前言#xff1a; 这篇文章主要介绍一下python基础中的异常处理#xff1a; 1#xff0c;异常 2#xff0c;异常的捕获 3#xff0c;finally语句 #x1f3ac;个人简介#xff1a;努力学习ing #x1f4cb;个人专栏#xff1a;C语言入门基础以及python入门…前言 这篇文章主要介绍一下python基础中的异常处理 1异常 2异常的捕获 3finally语句 个人简介努力学习ing 个人专栏C语言入门基础以及python入门基础 CSDN主页 愚润求学 每日鸡汤路漫漫其修远兮吾将上下而求索 文章目录 一异常1什么是异常2异常有类型吗 二异常捕获1什么是异常捕获2如何进行异常捕获1普通捕获异常2捕获多个异常3else和finally语句 一异常
1什么是异常 Python中的异常是在程序执行期间发生的错误它们会中断程序的正常流程。当程序运行时如果出现异常Python会中断当前执行任务的控制权并寻找相应的异常处理器。 2异常有类型吗 答案是有 如下面是几种常见的异常类型 ZeroDivisionError: 当除数为零时引发。 IndexError: 当尝试访问列表、元组或字符串中不存在的索引时引发。 KeyError: 当尝试访问字典中不存在的键时引发。 TypeError: 当使用不支持该操作的数据类型时引发例如将字符串与整数相加。 ValueError: 当使用不支持该值的数据类型时引发例如使用非浮点数作为float()函数的参数。 IOError: 当发生I/O错误时引发例如打开一个不存在的文件。 MemoryError: 当内存不足时引发。 OverflowError: 当数值运算结果太大或太小无法表示为浮点数时引发。 RecursionError: 当递归深度超过限制时引发。 SyntaxError: 当Python解释器遇到语法错误时引发例如多了一个或少了闭合的括号。 IndentationError: 当Python解释器遇到缩进错误时引发例如代码块的缩进不一致。 TabError: 当混合使用制表符和空格进行缩进时引发。 二异常捕获
1什么是异常捕获
异常捕获是程序在执行过程中对可能出现的不正常情况即异常进行捕捉并处理的过程。通过异常捕获程序可以在出现错误时继续运行而不是立即终止。
2如何进行异常捕获
在Python中可以使用try-except语句来进行异常捕获。基本的结构如下
try:# 尝试执行的代码...
except SomeException 或except SomeException as e:# 当SomeException异常发生时执行的代码...其中try块包含程序尝试执行的代码而except块包含当特定的异常发生时执行的代码。 当在try块中的代码发生异常时程序会立即跳到紧跟着的except块并执行该块中的代码。然后程序会继续执行try块之后的代码。 这个e就是把异常赋值给了变量e也可以理解为得到一个异常对象e 如果不输入SomeException异常类型则代表捕获全部异常即 except: ...代表捕获全部异常 同时等效于except Exception: ... 1普通捕获异常
以下是一个简单的例子演示如何使用try和except捕获异常
如当我们运行下面有问题的代码
number int(not a number)程序会报出下面的错误并且停止运行 这是因为我们不能直接将不是数字的字符串转换成整数 这时候假如我们无法确定int()转换会不会出问题我们就可以用一个try-except来实现在有问题的时候捕获这个异常而不停止运行程序。如
try:# 尝试将字符串转化为整数number int(not a number)
except ValueError:# 如果转换失败捕获ValueError异常print(输入的内容不是一个有效的整数。)运行结果 可见ValueError异常被捕获了并打印输入的内容不是一个有效的整数。。 2捕获多个异常
实际上我们还可能想要捕获多种异常或者在不同的except块中捕获不同的异常。例如
try:# 尝试将字符串转化为整数number int(not a number)
except ValueError:# 如果转换失败捕获ValueError异常print(输入的内容不是一个有效的整数。)
except ZeroDivisionError:# 如果除以零捕获ZeroDivisionError异常print(除数不能为零。)这个例子中我们同时捕获了ValueError和ZeroDivisionError异常。
3else和finally语句
这两条语句是可选的try-except是必选的 else块中是异常没有发生时执行的代码 finally是无论是否发生异常都要执行的代码 以下是一个使用这些语句的简单示例
try:# 尝试将字符串转换为整数number int(string)
except ValueError:print(发生了一个 ValueError 异常!)
else:print(字符串成功转换为整数!)
finally:print(这是 finally 块无论是否发生异常都会执行。)输出结果 在上述示例中由于字符串不能转换为整数所以触发了ValueError异常。因此except块中的代码被执行而else块中的代码则不会执行。 我的分享也就到此结束啦 要是我的分享也能对你的学习起到帮助那简直是太酷啦 若有不足还请大家多多指正我们一起学习交流 公主王子点赞→收藏⭐→关注 感谢大家的观看和支持祝大家都能得偿所愿天天开心