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 控制语句
Nov 03 Python
Python中字符串对齐方法介绍
May 21 Python
在Mac OS上搭建Python的开发环境
Dec 24 Python
Python实现的递归神经网络简单示例
Aug 11 Python
Python中str.join()简单用法示例
Mar 20 Python
pycham查看程序执行的时间方法
Nov 29 Python
Python 文本文件内容批量抽取实例
Dec 10 Python
django获取from表单multiple-select的value和id的方法
Jul 19 Python
python:动态路由的Flask程序代码
Nov 22 Python
Django form表单与请求的生命周期步骤详解
Jun 07 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
Jul 09 Python
pycharm配置安装autopep8自动规范代码的实现
Mar 02 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-redis中文文档介绍
2013/02/07 PHP
Zend Framework开发入门经典教程
2016/03/23 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
对YUI扩展的Gird组件 Part-1
2007/03/10 Javascript
iframe子父页面调用js函数示例
2013/11/07 Javascript
JScript中的条件注释详解
2015/04/24 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
全面了解javascript中的错误处理机制
2016/07/18 Javascript
js复制内容到剪贴板代码,js复制代码的简单实例
2016/10/27 Javascript
js鼠标跟随运动效果
2017/03/11 Javascript
详解ES6 Promise的生命周期和创建
2019/08/18 Javascript
vue 实现input表单元素的disabled示例
2019/10/28 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
Handtrack.js库实现实时监测手部运动(推荐)
2021/02/08 Javascript
JavaScript 判断浏览器是否是IE
2021/02/19 Javascript
[03:39]DOTA2英雄梦之声_第05期_幽鬼
2014/06/23 DOTA
[40:19]2018完美盛典CS.GO表演赛
2018/12/17 DOTA
Python yield使用方法示例
2013/12/04 Python
python统计日志ip访问数的方法
2015/07/06 Python
修改python plot折线图的坐标轴刻度方法
2018/12/13 Python
python中pygame安装过程(超级详细)
2019/08/04 Python
使用OpenCV circle函数图像上画圆的示例代码
2019/12/27 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
2020/02/15 Python
call在Python中改进数列的实例讲解
2020/12/09 Python
Sephora丝芙兰澳洲官方网站:国际知名化妆品购物
2016/10/27 全球购物
Proenza Schouler官方网站:纽约女装和配饰品牌
2019/01/03 全球购物
linux面试题参考答案(5)
2014/09/01 面试题
保险公司开门红口号
2014/06/21 职场文书
买房协议书范本
2014/10/23 职场文书
婚礼答谢礼品
2015/01/20 职场文书
2015年大学辅导员工作总结
2015/05/12 职场文书
银行柜员工作心得体会
2016/01/23 职场文书
Go语言设计模式之结构型模式
2021/06/22 Golang