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实现从订阅源下载图片的方法
Mar 11 Python
Python使用Scrapy爬取妹子图
May 28 Python
在Ubuntu系统下安装使用Python的GUI工具wxPython
Feb 18 Python
实例讲解Python中global语句下全局变量的值的修改
Jun 16 Python
python中实现精确的浮点数运算详解
Nov 02 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
Nov 29 Python
Python基于高斯消元法计算线性方程组示例
Jan 17 Python
python线程池threadpool使用篇
Apr 27 Python
Django模板Templates使用方法详解
Jul 19 Python
使用Python操作ArangoDB的方法步骤
Feb 02 Python
jenkins+python自动化测试持续集成教程
May 12 Python
python实现双向链表原理
May 25 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数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
2011/10/29 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
2014/07/28 PHP
php实现压缩多个CSS与JS文件的方法
2014/11/11 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
PHP实现简单的模板引擎功能示例
2017/09/02 PHP
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
仿百度联盟对联广告实现代码
2014/08/30 Javascript
Javascript与jQuery方法的隐藏与显示
2015/01/19 Javascript
基于JavaScript实现抽奖系统
2018/01/16 Javascript
webpack组织模块打包Library的原理及实现
2018/03/10 Javascript
深入理解 TypeScript Reflect Metadata
2019/12/12 Javascript
分享JS表单验证源码(带错误提示及密码等级)
2020/01/05 Javascript
vue界面发送表情的实现代码
2020/09/11 Javascript
python连接池实现示例程序
2013/11/26 Python
Python中字典的setdefault()方法教程
2017/02/07 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
Python解析命令行读取参数--argparse模块使用方法
2018/01/23 Python
python3 中文乱码与默认编码格式设定方法
2018/10/31 Python
对Python中小整数对象池和大整数对象池的使用详解
2019/07/09 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
2019/08/07 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
2020/01/10 Python
python批量处理txt文件的实例代码
2020/01/13 Python
Python os模块常用方法和属性总结
2020/02/20 Python
django项目中新增app的2种实现方法
2020/04/01 Python
python 追踪except信息方式
2020/04/25 Python
html5菜单折纸效果
2014/04/22 HTML / CSS
理肤泉美国官网:La Roche-Posay
2018/01/17 全球购物
信息系统专业个人求职信范文
2013/12/07 职场文书
秋天的怀念教学反思
2014/04/28 职场文书
个人委托书范本
2014/09/13 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
幼儿教师小班个人总结
2015/02/05 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
我的收音机情缘
2022/04/05 无线电
Java数组详细介绍及相关工具类
2022/04/14 Java/Android
德生TECSUN S-2000使用手册文字版
2022/05/10 无线电