python异常处理try except过程解析
作者:flag_HW 发布时间:2021-06-23 14:53:29
标签:python,异常,处理,try,except
这篇文章主要介绍了python异常处理try except过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
某些时候我们能够预判程序可能会出现何种类型的错误,而此时我们希望程序继续执行而不是退出,此时就需要用到异常处理;下面是常用的几种异常处理方法
#通过实例属性 列表 字典构造对应的异常
class Human(object):
def __init__(self, name, age, sex):
self.name = name
self.age = age
def get_info(self):
print("my name is %s,age is %s"%(self.name, self.age))
man1 = Human("李四", 22, "man")
list1 = [1, 2, 3]
dict1 = {"name":"张三", "age":12}
#异常捕获的语法
try:
man1.get_info1()
except AttributeError as e: #AttributeError为错误类型,此种错误的类型赋值给变量e;当try与except之间的语句触发
# AttributeError错误时程序不会异常退出而是执行except AttributeError下面的内容
print("this is a AttributeError:",e)
finally:
print("this is finally")
try:
man1.get_info()
#list1[3]
#dict1["sex"]
except AttributeError as e:
print("this is a AttributeError:",e)
else:
print("一切正常") #当try与except之间内容没有触发捕获异常也没有异常退出就会跳过except转到执行else下面的语句
finally:
print("this is finally")#不论程序是否触发异常,只要没有退出都会执行finally下面的内容
try:
list1[3]
dict1["sex"]
except (IndexError, KeyError) as e: #当需要捕获多个异常在一条except时候可以使用这种语法,try与except之间语句触发任意一个异常捕获后就跳到except下面的语句继续执行
print("this is a IndexError or KeyError:",e)
try:
list1[3]
dict1["sex"]
except IndexError as e:#当需要分开捕获多个异常可以使用多条except语句,try与except之间语句触发任意一个异常捕获后就跳到对应except执行其下面的语句,其余except不在继续执行
print("this is a IndexError:",e)
except KeyError as e:
print("this is a KeyError:",e)
try:
man1.get_info1()
except IndexError as e:
print("this is a IndexError:",e)
except Exception as e:
print("this is a OtherError:",e)#可以使用except Exception来捕获绝大部分异常而不必将错误类型显式全部写出来
#自己定义异常
class Test_Exception(Exception):
def __init__(self, message):
self.message = message
try:
man1.get_info()
raise Test_Exception("自定义错误")#自己定义的错误需要在try与except之间手工触发,错误内容为实例化传入的参数
except Test_Exception as e:
print(e)
来源:https://www.cnblogs.com/flags-blog/p/12246038.html


猜你喜欢
- 用下列代码即可:<%On error resume nextSet session=Creat
- matplotlib的依赖包cycler是matplotlib自主开发的属性组合包,功能与内置模块itertools很多函数非常相似,可用于
- 小白尝试写任意文件读取poc我是一个小白,完全不懂Python,但是Python在渗透中往往是一个重要的角色。有一个CSDN百万大佬写了这样
- 本文实例为大家分享了微信小程序调用摄像头实现拍照的具体代码,供大家参考,具体内容如下微信小程序开发文档首先,需要用户授权摄像头权限,这一步是
- 安装的依赖包flaskpymysqlflask_scriptflask_migrateflask_sqlalchemy创建Flask项目(项
- 问题查看 tensorflow api manual 时,看到关于 variable.read_value() 的注解如图:那么在 tens
- 每当有朋友过生日时,生日蛋糕自然是必不可少的,今天我们来看一下如何用 Python 画一个生日蛋糕。本文我们用到的 Python 库包括:t
- 在学习了一点 Python 基础之后,我们可以做一个罚点球的小游戏,大概流程是这样:每一轮,你先输入一个方向射门,然后电脑随机判断一个方向扑
- 想用C++写项目,数据库是必须的,所以这两天学了一下C++操作MySQL数据库的方法。也没有什么教程,就是在网上搜的知识,下面汇总一下。 连
- 一、背景最近学校校园网不知道是什么情况,总出现掉线的情况。每次掉线都需要我手动打开web浏览器重新进行账号密码输入,重新进行登录。系统的问题
- 我大概思考了下有如下几种方法可以解决: 1.在图片服务器上开通FTP,人为添加图片地址即可,但不方便,特别是在可视编辑器中看图还的多一部操作
- Pandas count()与values_count()用法count()values_count()在指定的统计的列名上结果多了该列:对
- 这是一个access较为豪华的包装范例,他调用了flash的流媒体控件,利用flash的交互与通信功能,借以达到了我们装扮软件的目的。fla
- 在本篇的开始之前,我必须阐明,我们对数组无论是索引还是切片,我是通过编号(或称为序列号)来进行操作,请记住:无论是 0轴(行)还是 1轴(列
- 这种组合使得开发Web程序简单、安全、效率高。由于程序是在Linux下运行,虽免去了版权费用,对数据库的管理却少了Windows下的图形界面
- 下表列出了所有Python语言支持的比较操作符。假设变量a持有10和变量b持有20,则: 例如:试试下面的例子就明白了所有的Pyt
- 本文实例为大家分享了微信小程序实现吸顶盒效果的具体代码,供大家参考,具体内容如下html部分 <!-- 列表 -->&
- 本文实例讲述了Django框架设置cookies与获取cookies操作。分享给大家供大家参考,具体如下:在Django里面,使用Cooki
- 前言JavaScript 中的 Infinity 是一个可以应用于任何变量的数值,表示无穷大。下面就来看看 Infinity 是如何工作的,
- python修改FTP服务器上的文件名,具体代码如下所示:#-*- coding:utf-8 -*-#修改ftp服务器上的文件名from f