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 相关文章推荐
简单的通用表达式求10乘阶示例
Mar 03 Python
Python安装第三方库的3种方法
Jun 21 Python
python 中的list和array的不同之处及转换问题
Mar 13 Python
详解配置Django的Celery异步之路踩坑
Nov 25 Python
Python小工具之消耗系统指定大小内存的方法
Dec 03 Python
解决python ogr shp字段写入中文乱码的问题
Dec 31 Python
python tkinter组件使用详解
Sep 16 Python
Python 词典(Dict) 加载与保存示例
Dec 06 Python
PyTorch实现更新部分网络,其他不更新
Dec 31 Python
Python使用type动态创建类操作示例
Feb 29 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
Apr 22 Python
python 还原梯度下降算法实现一维线性回归
Oct 22 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
967 个函式
2006/10/09 PHP
用PHP和ACCESS写聊天室(二)
2006/10/09 PHP
PHP中获取时间的下一周下个月的方法
2014/03/18 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
2018/10/14 PHP
JavaScript DOM学习第六章 表单实例
2010/02/19 Javascript
基于JQuery的访问WebService的代码(可访问Java[Xfire])
2010/11/19 Javascript
javascript对select标签的控制(option选项/select)
2013/01/31 Javascript
举例讲解JavaScript中关于对象操作的相关知识
2015/11/16 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
JS字符串的切分用法实例
2016/02/22 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
2016/05/24 Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
2016/07/22 Javascript
原生js简单实现放大镜特效
2017/05/16 Javascript
vue addRoutes实现动态权限路由菜单的示例
2018/05/15 Javascript
angularJs中json数据转换与本地存储的实例
2018/10/08 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
vuex入门最详细整理
2020/03/04 Javascript
JavaScript实现轮播图片完整代码
2020/03/07 Javascript
jquery html添加元素/删除元素操作实例详解
2020/05/20 jQuery
Python利用IPython提高开发效率
2016/08/10 Python
python+mongodb数据抓取详细介绍
2017/10/25 Python
python中requests库session对象的妙用详解
2017/10/30 Python
python 实现返回一个列表中出现次数最多的元素方法
2019/06/11 Python
PyQt5使用QTimer实现电子时钟
2019/07/29 Python
Python 使用 environs 库定义环境变量的方法
2020/02/25 Python
python 实现多维数组(array)排序
2020/02/28 Python
python 基于opencv去除图片阴影
2021/01/26 Python
CSS3使用border-radius属性制作圆角
2014/12/22 HTML / CSS
Timex手表官网:美国运动休闲手表品牌
2017/01/28 全球购物
会计电算化学生个人的自我评价
2014/02/08 职场文书
《青山处处埋忠骨》教学反思
2014/04/22 职场文书
自主招生自荐信格式范文
2015/03/25 职场文书
详解CSS玩转图片Base64编码
2021/05/25 HTML / CSS
python脚本框架webpy的url映射详解
2021/11/20 Python
聊聊配置 Nginx 访问与错误日志的问题
2022/05/25 Servers