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中的函数用法入门教程
Sep 02 Python
Python2.x中str与unicode相关问题的解决方法
Mar 30 Python
利用Fn.py库在Python中进行函数式编程
Apr 22 Python
学习python之编写简单乘法口诀表实现代码
Feb 27 Python
详解python调度框架APScheduler使用
Mar 28 Python
基于python中pygame模块的Linux下安装过程(详解)
Nov 09 Python
python程序控制NAO机器人行走
Apr 29 Python
Django 开发环境与生产环境的区分详解
Jul 26 Python
python 利用jinja2模板生成html代码实例
Oct 10 Python
用python画一只可爱的皮卡丘实例
Nov 21 Python
使用pth文件添加Python环境变量方式
May 26 Python
python logging模块的使用详解
Oct 23 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
咖啡豆分级制度 咖啡豆等级分类 咖啡豆是按口感分类的吗?
2021/03/05 新手入门
PHP 程序员应该使用的10个组件
2009/10/31 PHP
php中namespace use用法实例分析
2016/01/22 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
原生js事件的添加和删除的封装
2014/07/01 Javascript
JavaScript中实现Map的示例代码
2015/09/09 Javascript
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
Webpack实战加载SVG的方法
2017/12/26 Javascript
vue 不使用select实现下拉框功能(推荐)
2018/05/17 Javascript
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
如何通过Proxy实现JSBridge模块化封装
2020/10/22 Javascript
[04:02]DOTA2上海特锦赛小组赛第二日recap精彩回顾
2016/02/28 DOTA
[02:39]我与DAC之Newbee.Moogy:从论坛到TI
2018/03/26 DOTA
Python Tkinter GUI编程入门介绍
2015/03/10 Python
Python文档生成工具pydoc使用介绍
2015/06/02 Python
Python获取linux主机ip的简单实现方法
2016/04/18 Python
python爬虫框架talonspider简单介绍
2017/06/09 Python
通过Python实现自动填写调查问卷
2017/09/06 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
2019/04/11 Python
75条笑死人的知乎神回复,用60行代码就爬完了
2019/05/06 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
Python读取表格类型文件代码实例
2020/02/17 Python
django 连接数据库出现1045错误的解决方式
2020/05/14 Python
详解CSS3 Media Queries中媒体属性的使用
2016/02/29 HTML / CSS
一道SQL面试题
2012/12/31 面试题
医院护理人员的自我评价分享
2013/10/04 职场文书
促销活动方案模板
2014/02/24 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
国庆节演讲稿范文2014
2014/09/19 职场文书
2014年社区计生工作总结
2014/11/18 职场文书
英文升职感谢信
2015/01/23 职场文书
赔偿协议书怎么写
2015/01/28 职场文书
大学学生个人总结
2015/02/15 职场文书
vue实现列表垂直无缝滚动
2022/04/08 Vue.js
nginx七层负载均衡配置详解
2022/07/15 Servers