python raise的基本使用


Posted in Python onSeptember 10, 2020

简介

当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。

1、演示raise用法

try:
  s = None
  if s is None:
    print("s 是空对象")
    # 如果引发NameError异常,后面的代码将不能执行
    raise NameError
  # 这句不会执行,但是后面的except还是会走到
  print(len(s))
except TypeError:
  print("空对象没有长度")
 
s = None
if s is None:
  raise NameError
# 如果不使用try......except这种形式,那么直接抛出异常,不会执行到这里
print("is here?")

2、触发异常

我们可以使用raise语句自己触发异常

raise语法格式如下:

raise [Exception [, args [, traceback]]]

语句中 Exception 是异常的类型(例如,NameError)参数标准异常中任一种,args 是自已提供的异常参数。

最后一个参数是可选的(在实践中很少使用),如果存在,是跟踪异常对象。

3、实例

一个异常可以是一个字符串,类或对象。 Python的内核提供的异常,大多数都是实例化的类,这是一个类的实例的参数。

def mye(level):
  if level < 1:
    raise Exception("Invalid level!")
    # 触发异常后,后面的代码就不会再执行
 
try:
  # 触发异常
  mye(0)
except Exception as err:
  print(1, err)
else:
  print(2)

以上就是python raise的基本使用的详细内容,更多关于python raise的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python求众数问题实例
Sep 26 Python
跟老齐学Python之关于类的初步认识
Oct 11 Python
深入理解Python装饰器
Jul 27 Python
Python生成随机数组的方法小结
Apr 15 Python
浅谈python中字典append 到list 后值的改变问题
May 04 Python
python实现字符串和字典的转换
Sep 29 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
Feb 21 Python
python 绘制拟合曲线并加指定点标识的实现
Jul 10 Python
django之对FileField字段的upload_to的设定方法
Jul 28 Python
TensorFlow实现保存训练模型为pd文件并恢复
Feb 06 Python
python实现简单俄罗斯方块
Mar 13 Python
Python绘制词云图之可视化神器pyecharts的方法
Feb 23 Python
Python常用数字处理基本操作汇总
Sep 10 #Python
Python通用唯一标识符uuid模块使用案例
Sep 10 #Python
Python编写单元测试代码实例
Sep 10 #Python
python super()函数的基本使用
Sep 10 #Python
Python如何实现机器人聊天
Sep 10 #Python
Python 必须了解的5种高级特征
Sep 10 #Python
matplotlib 多个图像共用一个colorbar的实现示例
Sep 10 #Python
You might like
rephactor 优秀的PHP的重构工具
2011/06/09 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
2014/07/22 PHP
PHP导出Excel实例讲解
2016/01/24 PHP
php实现三级级联下拉框
2016/04/17 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
JS无限树状列表实现代码
2011/01/11 Javascript
javascript测试题练习代码
2012/10/10 Javascript
按Enter键触发事件的jquery方法实现代码
2014/02/17 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
chrome浏览器当表单自动填充时如何去除浏览器自动添加的默认样式
2015/10/09 Javascript
js获取新浪天气接口的实现代码
2016/06/06 Javascript
JavaScript注入漏洞的原理及防范(详解)
2016/12/04 Javascript
BootStrap注意事项小结(五)表单
2017/03/10 Javascript
Vue通过input筛选数据
2020/10/26 Javascript
使用react-router4.0实现重定向和404功能的方法
2017/08/28 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
2017/10/25 Javascript
axios全局注册,设置token,以及全局设置url请求网段的方法
2018/09/25 Javascript
每个 JavaScript 工程师都应懂的33个概念
2018/10/22 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
2019/12/04 Javascript
python学习手册中的python多态示例代码
2014/01/21 Python
python实现定时播放mp3
2015/03/29 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
详解python中自定义超时异常的几种方法
2019/07/29 Python
python 计算两个列表的相关系数的实现
2019/08/29 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
亚马逊中国官方网站:amazon.cn
2017/05/25 全球购物
Dr. Martens马汀博士德国官网:马丁靴鼻祖
2019/12/26 全球购物
如何写出高性能的JSP和Servlet
2013/01/22 面试题
杭州-飞时达软件有限公司.net笔面试
2012/04/28 面试题
非功能性需求都包括哪些方面
2013/10/29 面试题
J2EE中常用的名词进行解释
2015/11/09 面试题
幼儿园运动会入场词
2014/02/10 职场文书
棉花姑娘教学反思
2014/02/15 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
初一语文教学反思
2016/03/03 职场文书