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 15 Python
详解Python的Flask框架中的signals信号机制
Jun 13 Python
Python中的sort()方法使用基础教程
Jan 08 Python
python实现逻辑回归的方法示例
May 02 Python
PyCharm在win10的64位系统安装实例
Nov 26 Python
python中使用print输出中文的方法
Jul 16 Python
对python中url参数编码与解码的实例详解
Jul 25 Python
Python自动化导出zabbix数据并发邮件脚本
Aug 16 Python
有关Tensorflow梯度下降常用的优化方法分享
Feb 04 Python
详解python环境安装selenium和手动下载安装selenium的方法
Mar 17 Python
python自动生成sql语句的脚本
Feb 24 Python
Python实现科学占卜 让视频自动打码
Apr 09 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调用三种数据库的方法(1)
2006/10/09 PHP
PHP获得用户使用的代理服务器ip即真实ip
2006/12/31 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
PHP实现的多进程控制demo示例
2019/07/22 PHP
juqery 学习之五 文档处理 插入
2011/02/11 Javascript
jquery获取iframe中的dom对象(两种方法)
2013/07/02 Javascript
intro.js 页面引导简单用法 分享
2013/08/06 Javascript
Js nodeType 属性全面解析
2013/11/14 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
2014/03/12 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
悬浮广告方法日常收集整理
2016/03/18 Javascript
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
2016/09/09 Javascript
Three.js利用dat.GUI如何简化试验流程详解
2017/09/26 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
2018/09/17 Javascript
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
浅谈vue3中effect与computed的亲密关系
2019/10/10 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
运用TensorFlow进行简单实现线性回归、梯度下降示例
2018/03/05 Python
纯用NumPy实现神经网络的示例代码
2018/10/24 Python
Python爬虫之urllib基础用法教程
2019/10/12 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
python 错误处理 assert详解
2020/04/20 Python
Python类及获取对象属性方法解析
2020/06/15 Python
Django实现文章详情页面跳转代码实例
2020/09/16 Python
基于Pytorch版yolov5的滑块验证码破解思路详解
2021/02/25 Python
CSS3中HSL和HSLA的简单使用示例
2015/07/14 HTML / CSS
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
最经典的大学生职业生涯规划范文
2014/03/05 职场文书
公司奖励通知
2015/04/21 职场文书
Django展示可视化图表的多种方式
2021/04/08 Python
使用Python解决图表与画布的间距问题
2022/04/11 Python