python异常处理try except过程解析


Posted in Python onFebruary 03, 2020

这篇文章主要介绍了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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python正则表达式使用范例分享
Dec 04 Python
用生成器来改写直接返回列表的函数方法
May 25 Python
Django配置celery(非djcelery)执行异步任务和定时任务
Jul 16 Python
python操作kafka实践的示例代码
Jun 19 Python
python3 反射的四种基本方法解析
Aug 26 Python
docker-py 用Python调用Docker接口的方法
Aug 30 Python
django框架中间件原理与用法详解
Dec 10 Python
Tkinter中复选菜单是否被选中的判断与设置方式
Mar 04 Python
python 读取二进制 显示图片案例
Apr 24 Python
python爬虫---requests库的用法详解
Sep 28 Python
python之随机数函数的实现示例
Dec 30 Python
Python Pandas读取Excel日期数据的异常处理方法
Feb 28 Python
利用Python脚本实现自动刷网课
Feb 03 #Python
tensorflow 限制显存大小的实现
Feb 03 #Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
Feb 03 #Python
tensorflow指定GPU与动态分配GPU memory设置
Feb 03 #Python
TensorFlow内存管理bfc算法实例
Feb 03 #Python
python numpy数组中的复制知识解析
Feb 03 #Python
opencv python Canny边缘提取实现过程解析
Feb 03 #Python
You might like
PHP分页显示制作详细讲解
2006/10/09 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
jQuery Ajax 实例全解析
2011/04/20 Javascript
JavaScript中的细节分析
2012/06/30 Javascript
原生js实现查找/添加/删除/指定元素的class
2013/04/12 Javascript
JS将表单导出成EXCEL的实例代码
2013/11/11 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
2015/06/18 Javascript
javascript封装 Cookie 应用接口
2015/08/07 Javascript
JS实现Fisheye效果动感放大菜单代码
2015/10/21 Javascript
JS实现网页标题随机显示名人名言的方法
2015/11/03 Javascript
jquery 遍历数组 each 方法详解
2016/05/25 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
微信小程序视图控件与bindtap之间的问题的解决
2019/04/08 Javascript
vue父子组件间引用之$parent、$children
2020/05/20 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
2020/07/24 Javascript
Python中的数学运算操作符使用进阶
2016/06/20 Python
Python将8位的图片转为24位的图片实现方法
2018/10/24 Python
基于wxPython的GUI实现输入对话框(2)
2019/02/27 Python
解决python tkinter界面卡死的问题
2019/07/17 Python
Python lambda表达式filter、map、reduce函数用法解析
2019/09/11 Python
python实现手势识别的示例(入门)
2020/04/15 Python
Python如何给函数库增加日志功能
2020/08/04 Python
Pycharm2020.1安装无法启动问题即设置中文插件的方法
2020/08/07 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
scrapy处理python爬虫调度详解
2020/11/23 Python
Vuori官网:运动服装的终级表现
2021/01/27 全球购物
高一生物教学反思
2014/01/17 职场文书
股东合作协议书范本
2014/04/14 职场文书
教师评语大全
2014/04/28 职场文书
商务英语专业求职信
2014/06/26 职场文书
公司总经理助理岗位职责
2014/07/09 职场文书
2015年社会实践个人总结
2015/03/06 职场文书
工作简历的自我评价
2019/05/16 职场文书
react合成事件与原生事件的相关理解
2021/05/13 Javascript