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将时间或时间间隔转为ISO 8601格式方法示例
Sep 05 Python
python+pillow绘制矩阵盖尔圆简单实例
Jan 16 Python
Python中asyncio与aiohttp入门教程
Oct 16 Python
详解Python进阶之切片的误区与高级用法
Dec 24 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
Jan 11 Python
Python with用法:自动关闭文件进程
Jul 10 Python
Python序列化与反序列化pickle用法实例
Nov 11 Python
Pytorch 之修改Tensor部分值方式
Dec 27 Python
python单例设计模式实现解析
Jan 07 Python
PyCharm刷新项目(文件)目录的实现
Feb 14 Python
基于pytorch padding=SAME的解决方式
Feb 18 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
Jul 21 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
用PHP和ACCESS写聊天室(五)
2006/10/09 PHP
php下MYSQL limit的优化
2008/01/10 PHP
php文件包含目录配置open_basedir的使用与性能详解
2017/04/03 PHP
再探JavaScript作用域
2014/09/24 Javascript
nodejs中实现阻塞实例
2015/03/24 NodeJs
JavaScript中exec函数用法实例分析
2015/06/08 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
2016/01/23 Javascript
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
AngularJs ng-route路由详解及实例代码
2016/09/14 Javascript
JS正则替换掉小括号及内容的方法
2016/11/29 Javascript
jquery dialog获取焦点的方法
2017/02/09 Javascript
nodeJS实现简单网页爬虫功能的实例(分享)
2017/06/08 NodeJs
原生JS控制多个滚动条同步跟随滚动效果
2017/12/22 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
Vue文件配置全局变量的实例
2018/09/06 Javascript
Angular事件之不同组件间传递数据的方法
2018/11/15 Javascript
微信小程序实现工作时间段选择
2019/02/15 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
Python的Django框架中使用SQLAlchemy操作数据库的教程
2016/06/02 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
Python中的defaultdict与__missing__()使用介绍
2018/02/03 Python
pytorch 数据集图片显示方法
2018/07/26 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
2020/02/27 Python
Kaufmann Mercantile官网:家居装饰、配件、户外及更多
2018/09/28 全球购物
4s店总经理岗位职责
2013/12/31 职场文书
小学英语教学反思案例
2014/02/04 职场文书
大学新学期计划书
2014/04/28 职场文书
干部作风建设工作总结
2014/10/29 职场文书
2015年电工工作总结
2015/04/10 职场文书
2015年社区宣传工作总结
2015/05/20 职场文书
学校运动会加油词
2015/07/18 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书
HTML中table表格拆分合并(colspan、rowspan)
2021/04/07 HTML / CSS
如何搭建 MySQL 高可用高性能集群
2021/06/21 MySQL
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers