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学习资料
Feb 08 Python
pyqt4教程之实现半透明的天气预报界面示例
Mar 02 Python
Python使用chardet判断字符编码
May 09 Python
django反向解析URL和URL命名空间的方法
Jun 05 Python
Python求两点之间的直线距离(2种实现方法)
Jul 07 Python
django-filter和普通查询的例子
Aug 12 Python
Python使用Turtle库绘制一棵西兰花
Nov 23 Python
Python 写了个新型冠状病毒疫情传播模拟程序
Feb 14 Python
jupyter notebook 添加kernel permission denied的操作
Apr 21 Python
浅谈keras中的keras.utils.to_categorical用法
Jul 02 Python
Pycharm配置autopep8实现流程解析
Nov 28 Python
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 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
当jQuery遭遇CoffeeScript的时候 使用分享
2011/09/17 Javascript
深入理解javaScript中的事件驱动
2013/05/21 Javascript
node.js中的console.warn方法使用说明
2014/12/09 Javascript
浅谈javascript中字符串String与数组Array
2014/12/31 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
2015/06/11 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
js采用concat和sort将N个数组拼接起来的方法
2016/01/21 Javascript
Angularjs全局变量被作用域监听的正确姿势
2016/02/06 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
2016/04/29 Javascript
jQuery插件扩展测试实例
2016/06/21 Javascript
AngularJS Ajax详解及示例代码
2016/08/17 Javascript
jQuery实现背景滑动菜单
2016/12/02 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
2017/02/16 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
Vue中的$set的使用实例代码
2018/10/08 Javascript
微信小程序实现页面浮动导航
2019/01/28 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
Angular脚手架开发的实现步骤
2019/04/09 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
Layui表格监听行单双击事件讲解
2019/11/14 Javascript
[59:07]海涛为你详解DOTA2新版本“贤哲秘契”
2014/11/22 DOTA
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
Python使用cx_Oracle模块操作Oracle数据库详解
2018/05/07 Python
Python调用C语言的实现
2019/07/26 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
2019/10/16 Python
Python数据可视化:饼状图的实例讲解
2019/12/07 Python
通过实例了解Python str()和repr()的区别
2020/01/17 Python
一套中级Java程序员笔试题
2015/01/14 面试题
酒吧副总经理岗位职责
2013/12/10 职场文书
2015个人半年总结范文
2015/03/09 职场文书
农村结婚典礼主持词
2015/06/29 职场文书
教师听课学习心得体会
2016/01/15 职场文书
《最后一头战象》教学反思
2016/02/16 职场文书
游戏《我的世界》澄清Xbox版暂无计划加入光追
2022/04/03 其他游戏