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中的__init__ 、__new__、__call__小结
Apr 25 Python
Python快速从注释生成文档的方法
Dec 26 Python
python实现图片文件批量重命名
Mar 23 Python
django反向解析和正向解析的方式
Jun 05 Python
详解python中init方法和随机数方法
Mar 13 Python
python中dict使用方法详解
Jul 17 Python
django 数据库连接模块解析及简单长连接改造方法
Aug 29 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
Oct 14 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
Apr 29 Python
详解Pandas 处理缺失值指令大全
Jul 30 Python
用python实现一个简单的验证码
Dec 09 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
Feb 20 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 空格,换行,跳格使用说明
2009/12/18 PHP
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
2011/07/14 PHP
再Docker中架设完整的WordPress站点全攻略
2015/07/29 PHP
php 多文件上传的实现实例
2016/10/23 PHP
Javascript 八进制转义字符(8进制)
2011/04/08 Javascript
JS判断文本框内容改变事件的简单实例
2014/03/07 Javascript
document.write的几点使用心得
2014/05/14 Javascript
实例讲解JQuery中this和$(this)区别
2014/12/08 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
2016/05/13 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
nodejs操作mysql实现增删改查的实例
2017/05/28 NodeJs
javascript实现数字配对游戏的实例讲解
2017/12/14 Javascript
vue组件文档(.md)中如何自动导入示例(.vue)详解
2019/01/25 Javascript
深入探讨JavaScript的最基本部分之执行上下文
2019/02/12 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
vue项目强制清除页面缓存的例子
2019/11/06 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
python模块hashlib(加密服务)知识点讲解
2019/11/25 Python
opencv python图像梯度实例详解
2020/02/04 Python
html5本地存储 localStorage操作使用详解
2016/09/20 HTML / CSS
使用canvas对多图片拼合并导出图片的方法
2018/08/28 HTML / CSS
欧洲最大的球衣网上商店:Kitbag
2017/11/11 全球购物
舒适的豪华鞋:Taryn Rose
2018/05/03 全球购物
Ajxa常见问题都有哪些
2014/03/26 面试题
工商管理实习生自我鉴定范文
2013/12/18 职场文书
2014年高考决心书
2014/03/11 职场文书
班风学风建设方案
2014/05/06 职场文书
副科竞争上岗演讲稿
2014/05/12 职场文书
描述鲁迅的名言整理,一生受用
2019/08/08 职场文书
导游词之丽江普济寺
2019/10/22 职场文书
Django展示可视化图表的多种方式
2021/04/08 Python
如何用JS实现网页瀑布流布局
2021/04/24 Javascript