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脚本来获取mp3文件tag信息的教程
May 04 Python
python分割列表(list)的方法示例
May 07 Python
Python爬虫天气预报实例详解(小白入门)
Jan 24 Python
python写入已存在的excel数据实例
May 03 Python
win7 x64系统中安装Scrapy的方法
Nov 18 Python
基于Numpy.convolve使用Python实现滑动平均滤波的思路详解
May 16 Python
树莓派用python中的OpenCV输出USB摄像头画面
Jun 22 Python
Python中私有属性的定义方式
Mar 05 Python
Python如何爬取b站热门视频并导入Excel
Aug 10 Python
Python读写锁实现实现代码解析
Nov 28 Python
python不同版本的_new_不同点总结
Dec 09 Python
Python中的变量与常量
Nov 11 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得到mssql的存储过程的输出参数功能实现
2012/11/23 PHP
19个超实用的PHP代码片段
2014/03/14 PHP
destoon实现首页显示供应、企业、资讯条数的方法
2014/07/15 PHP
php的闭包(Closure)匿名函数初探
2016/02/14 PHP
PHP基于递归实现的约瑟夫环算法示例
2017/08/27 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
js类中获取外部函数名的方法
2007/08/19 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
Bootstrap所支持的表单控件实例详解
2016/05/16 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
2016/11/25 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
JavaScript省市级联下拉菜单实例
2017/02/14 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
js动态引入的四种方法
2018/05/05 Javascript
[01:00:11]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第一场 2月7日
2021/03/11 DOTA
Python使用base64模块进行二进制数据编码详解
2018/01/11 Python
Pycharm 设置默认头的图文教程
2019/01/17 Python
python制作抖音代码舞
2019/04/07 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
pytorch自定义初始化权重的方法
2019/08/17 Python
在pytorch中为Module和Tensor指定GPU的例子
2019/08/19 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
卡骆驰新加坡官网:Crocs新加坡
2018/06/12 全球购物
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
Linux如何命名文件--使用文件名时应注意
2014/05/29 面试题
提拔干部考察材料
2014/05/26 职场文书
运动会班级口号
2014/06/09 职场文书
社区创先争优承诺书
2014/08/30 职场文书
2016关于读书活动的心得体会
2016/01/14 职场文书
Mysql数据库命令大全
2021/05/26 MySQL
Python加密与解密模块hashlib与hmac
2022/06/05 Python