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中的JSON使用
Apr 28 Python
深入解析Python中的urllib2模块
Nov 13 Python
python-opencv在有噪音的情况下提取图像的轮廓实例
Aug 30 Python
CentOS下Python3的安装及创建虚拟环境的方法
Nov 28 Python
详解python 爬取12306验证码
May 10 Python
使用OpCode绕过Python沙箱的方法详解
Sep 03 Python
Python数据处理篇之Sympy系列(五)---解方程
Oct 12 Python
python3中使用__slots__限定实例属性操作分析
Feb 14 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
Feb 26 Python
Numpy数组的广播机制的实现
Nov 03 Python
pycharm Tab键设置成4个空格的操作
Feb 26 Python
Python保存并浏览用户的历史记录
Apr 29 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
欧美媒体选出10年前最流行的17部动画
2017/01/18 日漫
PHP生成带有雪花背景的验证码
2006/10/09 PHP
php产生随机数的两种方法实例代码 输出随机IP
2011/04/08 PHP
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
PHP重置数组为连续数字索引的几种方式总结
2018/03/12 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
TP5框架简单登录功能实现方法示例
2019/10/31 PHP
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
JS正则验证邮箱的格式详细介绍
2013/11/19 Javascript
js判断字符长度以及中英文数字等
2013/12/31 Javascript
用JQuery实现全选与取消的两种简单方法
2014/02/22 Javascript
Node.js(安装,启动,测试)
2014/06/09 Javascript
纯JS实现可拖拽表单的简单实例
2016/09/02 Javascript
详解Node.Js如何处理post数据
2016/09/19 Javascript
vuex 项目结构目录及一些简单配置介绍
2018/04/08 Javascript
Vue表单类的父子组件数据传递示例
2018/05/03 Javascript
JS实现根据指定值删除数组中的元素操作示例
2018/08/02 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
2019/09/11 Javascript
vue使用canvas实现移动端手写签名
2020/09/22 Javascript
Python实现文件复制删除
2016/04/19 Python
对python 各种删除文件失败的处理方式分享
2018/04/24 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
基于python实现高速视频传输程序
2019/05/05 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
python str字符串转uuid实例
2020/03/03 Python
Python使用进程Process模块管理资源
2020/03/05 Python
Python函数必须先定义,后调用说明(函数调用函数例外)
2020/06/02 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
2021/02/27 Python
记帐员岗位责任制
2014/02/08 职场文书
运输服务质量承诺书
2014/03/27 职场文书
幸福家庭标语
2014/06/27 职场文书
一文搞懂MySQL索引页结构
2022/02/28 MySQL
动画《新网球王子 U-17 WORLD CUP》希腊队PV公开
2022/04/02 日漫
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
2022/05/25 Servers