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 26进制计算实现方法
May 28 Python
Python实现的弹球小游戏示例
Aug 01 Python
Python探索之实现一个简单的HTTP服务器
Oct 28 Python
Python字符串匹配之6种方法的使用详解
Apr 08 Python
如何在Django配置文件里配置session链接
Aug 06 Python
PyCharm更改字体和界面样式的方法步骤
Sep 27 Python
python输入错误后删除的方法
Oct 12 Python
使用Python脚本从文件读取数据代码实例
Jan 19 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 Python
python正则表达式的懒惰匹配和贪婪匹配说明
Jul 13 Python
简述python Scrapy框架
Aug 17 Python
Python爬虫之App爬虫视频下载的实现
Dec 08 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 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
2008/11/14 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
2012/04/02 PHP
PHP数组及条件,循环语句学习
2012/11/11 PHP
解析如何去掉CodeIgniter URL中的index.php
2013/06/25 PHP
用PHP解决的一个栈的面试题
2014/07/02 PHP
php递归调用删除数组空值元素的方法
2015/04/28 PHP
PHP验证码生成原理和实现
2016/01/24 PHP
php实现微信支付之企业付款
2018/05/30 PHP
PHP将整数数字转换为罗马数字实例分享
2019/03/17 PHP
jQuery + Flex 通过拖拽方式动态改变图片的代码
2011/08/03 Javascript
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
JavaScript获取/更改文本框的值的实例代码
2013/08/02 Javascript
js获取腾讯视频ID的方法
2016/10/03 Javascript
JS实现的验证身份证及获取地区功能示例
2017/01/16 Javascript
JavaScript中 this 指向问题深度解析
2017/02/21 Javascript
Node.js 实现简单的接口服务器的实例代码
2017/05/23 Javascript
javascript History对象原理解析
2020/02/17 Javascript
[37:47]IG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python实现每次处理一个字符的三种方法
2014/10/09 Python
pygame播放音乐的方法
2015/05/19 Python
Python 使用requests模块发送GET和POST请求的实现代码
2016/09/21 Python
Python将多份excel表格整理成一份表格
2018/01/03 Python
Python通过属性手段实现只允许调用一次的示例讲解
2018/04/21 Python
django表单实现下拉框的示例讲解
2018/05/29 Python
详解通过API管理或定制开发ECS实例
2018/09/30 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
PyQt5 QTable插入图片并动态更新的实例
2019/06/18 Python
python求加权平均值的实例(附纯python写法)
2019/08/22 Python
python如何停止递归
2020/09/09 Python
全球知名提供各类营养保健品的零售商:Vitamin Shoppe
2016/10/09 全球购物
乐天旅游台湾网站:Rakuten Travel TW
2017/06/01 全球购物
汉语言文学毕业生自荐信范文
2014/03/24 职场文书
2016自主招生教师推荐信范文
2015/03/23 职场文书
Python中的 No Module named ***问题及解决
2022/07/23 Python
详解MySQL的内连接和外连接
2023/05/08 MySQL