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实现的简单文本类游戏实例
Apr 28 Python
python利用正则表达式提取字符串
Dec 08 Python
详解Python实现多进程异步事件驱动引擎
Aug 25 Python
如何高效使用Python字典的方法详解
Aug 31 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
May 24 Python
django最快程序开发流程详解
Jul 19 Python
Python从列表推导到zip()函数的5种技巧总结
Oct 23 Python
python代码打印100-999之间的回文数示例
Nov 24 Python
Python requests模块基础使用方法实例及高级应用(自动登陆,抓取网页源码)实例详解
Feb 14 Python
PyCharm中配置PySide2的图文教程
Jun 18 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
Oct 18 Python
python 实现汉诺塔游戏
Nov 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
destoon找回管理员密码的方法
2014/06/21 PHP
PHP实现简单实用的分页类代码
2016/04/08 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
2020/01/26 PHP
php 函数中静态变量使用的问题实例分析
2020/03/05 PHP
js判断输入是否为正整数、浮点数等数字的函数代码
2010/11/17 Javascript
你必须知道的JavaScript 变量命名规则详解
2013/05/07 Javascript
jQuery中eq()方法用法实例
2015/01/05 Javascript
JavaScript中使用concat()方法拼接字符串的教程
2015/06/06 Javascript
js实现图片点击左右轮播
2015/07/08 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
JS实现环形进度条(从0到100%)效果
2016/07/05 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
2016/07/14 Javascript
AngularJs自定义服务之实现签名和加密
2016/08/02 Javascript
js获取Get值的方法
2016/09/29 Javascript
javascript入门之string对象【新手必看】
2016/11/22 Javascript
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
简单的Vue SSR的示例代码
2018/01/12 Javascript
vue 组件高级用法实例详解
2018/04/11 Javascript
基于nodejs res.end和res.send的区别
2018/05/14 NodeJs
解决vue数组中对象属性变化页面不渲染问题
2018/08/09 Javascript
JavaScript实现的开关灯泡点击切换特效示例
2019/07/08 Javascript
Vue项目中使用mock.js的完整步骤
2021/01/12 Vue.js
Python中__init__和__new__的区别详解
2014/07/09 Python
Python脚本判断 Linux 是否运行在虚拟机上
2015/04/25 Python
Python中操作文件之write()方法的使用教程
2015/05/25 Python
Python对象中__del__方法起作用的条件详解
2018/11/01 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
django配置app中的静态文件步骤
2020/03/27 Python
python如何控制进程或者线程的个数
2020/10/16 Python
HTML5不支持标签和新增标签详解
2016/06/27 HTML / CSS
div或img图片高度随宽度自适应的方法
2020/02/06 HTML / CSS
英国书籍、CD、DVD和游戏的第一道德零售商:Awesome Books
2020/02/22 全球购物
勤俭节约演讲稿
2014/05/08 职场文书
我的中国梦演讲稿小学篇
2014/08/19 职场文书
公务员年度个人总结
2015/02/12 职场文书
Tomcat项目启动失败的原因和解决办法
2022/04/20 Servers