python异常处理、自定义异常、断言原理与用法分析


Posted in Python onMarch 23, 2020

本文实例讲述了python异常处理、自定义异常、断言原理与用法。分享给大家供大家参考,具体如下:

什么是异常:

  • 当程序遭遇某些非正常问题的时候就会抛出异常:比如int()只能处理能转化成int的对象,如果传入一个不能转化的对象就会报错并抛出异常python异常处理、自定义异常、断言原理与用法分析
  • 常用的异常有:

ValueError :传入无效的错误的参数python异常处理、自定义异常、断言原理与用法分析

TypeError:进行了对类型无效的操作python异常处理、自定义异常、断言原理与用法分析

IndexError:序列中没有此索引python异常处理、自定义异常、断言原理与用法分析

NameError:使用未定义的变量python异常处理、自定义异常、断言原理与用法分析

 

更多更具体的异常可以参考Python官方文档python异常处理、自定义异常、断言原理与用法分析,读读官方文档更健康


异常的处理:

  • python使用try,except,finally,else来处理异常,它们各自意义如下:

python异常处理、自定义异常、断言原理与用法分析

try:
  s=input("请输入要int的字符串:")
  i=int(s)
except ValueError as e:
  print(e)
else:
  print("这里是当没有发生异常时的操作")
finally:
  print("这里是即使发生异常也会执行的代码")

"""第一次运行结果:
请输入要int的字符串:123
这里是当没有发生异常时的操作
这里是即使发生异常也会执行的代码
"""
"""第二次运行结果
请输入要int的字符串:abc
invalid literal for int() with base 10: 'abc'
这里是即使发生异常也会执行的代码
"""
  • except可以在一条except里捕获多个异常,但需要用括号包裹多个异常,并且即使同时捕获多个异常,由于异常会导致程序发生终止,所以只会捕获到一个异常,所以只需要一个获取异常返回对象的变量:python异常处理、自定义异常、断言原理与用法分析
  • 如果不确定捕获什么异常,可以使用异常的基类Exception【更高级的可以使用BaseException】,并且最好把Exception放在所有except的最后:python异常处理、自定义异常、断言原理与用法分析

自定义异常:

  • 使用raise可以抛出自定义的异常信息python异常处理、自定义异常、断言原理与用法分析
  • 只要继承了Exception,就可以定义自己的异常类:python异常处理、自定义异常、断言原理与用法分析
class myException(Exception):
  def __init__(self,msg):
     self.message=msg
  def __str__(self):###这里就是异常的字符串信息
    return self.message

try :
  raise myException("我的异常")#py3

except myException as e:
  print(e)
  
"""
结果:
我的异常
"""

断言:

  • 意义:与其让程序在运行最崩溃,不如在出现错误条件时就崩溃【比如说,老司机想要开车,随便开车风险很大的,使用断言就好像先判断路况如何,然后再开车,而不是说开车出去才发现交警大队在等待】
police=False
assert police ==False
print("老司机开车啦,呜呜呜")

police=True
assert police ==False
print("老司机开车啦,呜呜呜")#报错,AssertionError

更多Python相关内容感兴趣的读者可查看本站专题:《Python入门与进阶经典教程》、《Python字符串操作技巧汇总》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python实现将HTML转换成doc格式文件的方法示例
Nov 20 Python
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
Jan 23 Python
python 用正则表达式筛选文本信息的实例
Jun 05 Python
Python最小二乘法矩阵
Jan 02 Python
pyinstaller打包单个exe后无法执行错误的解决方法
Jun 21 Python
numpy.random.shuffle打乱顺序函数的实现
Sep 10 Python
Python实现串口通信(pyserial)过程解析
Sep 25 Python
Python3 中作为一等对象的函数解析
Dec 11 Python
python开发前景如何
Jun 11 Python
Python OpenCV去除字母后面的杂线操作
Jul 05 Python
Python 如何实现访问者模式
Jul 28 Python
详解Python中的编码问题(encoding与decode、str与bytes)
Sep 30 Python
python实现单张图像拼接与批量图片拼接
Mar 23 #Python
OpenCV Python实现拼图小游戏
Mar 23 #Python
PYcharm 激活方法(推荐)
Mar 23 #Python
利用 PyCharm 实现本地代码和远端的实时同步功能
Mar 23 #Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
Mar 23 #Python
Python常用编译器原理及特点解析
Mar 23 #Python
Python3.7.0 Shell添加清屏快捷键的实现示例
Mar 23 #Python
You might like
一个简单的php实现的MySQL数据浏览器
2007/03/11 PHP
PHP session会话的安全性分析
2011/09/08 PHP
php获取QQ头像并显示的方法
2014/12/23 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
php 常用的系统函数
2017/02/07 PHP
详解在YII2框架中使用UEditor编辑器发布文章
2018/11/02 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
window.location不跳转的问题解决方法
2014/04/17 Javascript
如何防止回车(enter)键提交表单
2014/05/11 Javascript
AngularJS 让人爱不释手的八种功能
2016/03/23 Javascript
原生Javascript和jQuery做轮播图简单例子
2016/10/11 Javascript
在html中引入外部js文件,并调用带参函数的方法
2016/10/31 Javascript
JS日程管理插件FullCalendar简单实例
2017/02/07 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
2017/08/18 Javascript
提升node.js中使用redis的性能遇到的问题及解决方法
2018/10/30 Javascript
Vue Cli 3项目使用融云IM实现聊天功能的方法
2019/04/19 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
2020/06/05 Javascript
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
python实现支持目录FTP上传下载文件的方法
2015/06/03 Python
python 查找字符串是否存在实例详解
2017/01/20 Python
Python 基础教程之str和repr的详解
2017/08/20 Python
python版简单工厂模式
2017/10/16 Python
Python实现图片滑动式验证识别方法
2017/11/09 Python
Django实现分页显示效果
2019/10/31 Python
用python求一重积分和二重积分的例子
2019/12/06 Python
Python动态导入模块和反射机制详解
2020/02/18 Python
css3实现一款模仿iphone样式的注册表单
2013/03/20 HTML / CSS
利用纯css3实现的文字亮光特效的代码演示
2014/11/27 HTML / CSS
html5拖曳操作 HTML5实现网页元素的拖放操作
2013/01/02 HTML / CSS
香港演唱会订票网站:StubHub香港
2019/10/10 全球购物
一套C++笔试题面试题
2012/06/06 面试题
竞聘医务工作人员的自我评价分享
2013/11/04 职场文书
应用艺术毕业生的自我评价
2013/12/04 职场文书
2015年元旦标语大全
2014/12/09 职场文书
2015年乡镇食品安全工作总结
2015/10/22 职场文书
《女娲补天》读后感5篇
2019/12/31 职场文书