python中raise和raise e区别_python raise和assert的区别

python中raise和assert的区别

一、使用raise抛出异常

python可以自动触发异常,raise(内置函数)的定义为显示的抛出异常,用户可以使用raise进行判断,显式的引发异常,raise执行后程序将不再向下执行。

式例:

#!/usr/bin/env python

# -*- coding:utf-8 -*-

__author__ = '40kuai'

books_dict = {'name':'python','pages':390}

key = input('查看属性:')

if key in books_dict:

print(books_dict[key])

else:

raise KeyError

# 当要查询的属性不在字典中时会触发异常

raise也可以用户创建自定义的异常

#!/usr/bin/env python

# -*- coding:utf-8 -*-

__author__ = '40kuai'

class helei(Exception): # 继承 Exception

def __init__(self, msg):

self.message = msg

def __str__(self): # 被print调用时执行,可以不写

return self.message

if __name__ == '__main__':

try:

raise helei('我的异常') # 触发异常

except helei as e:

print(e)

二、assert使用

assert语句用于检测某个条件表达式是否为真。assert语句又称为断言语句,即assert认为检测的表达式永远为真。

断言用来指定某一操作必须为真。也可以在脚本执行时加上python -O参数来跳过assert检测。

可以使用assert False来显示代码编写未完成

Python3 try-except、raise和assert解析

Python3 try-except.raise和assert解析 一.说明 关于异常捕获try-except:在学java的时候就被教育异常捕获也是java相对c的一大优点,几年下来多少也写了些代码 ...

Python 2 和 3 的区别及兼容技巧

目录 目录 前言 Python 2 or 3 ? 不同与兼容 统一不等于语法 统一整数类型 统一整数除法 统一缩进语法 统一类定义 统一字符编码类型 统一导入模块的路径搜索方式 修正列表推导式的变量作 ...

PYTHON 异常处理 一 ASSERT

assert语句,如果没记错,这个东西在C或者C++里面也有的.属于短小的断言.下面的是来自python help document的说明: Assert statements are a conve ...

ava、Python和PHP三者的区别

Java.Python和PHP三者的区别 2017年07月15日 22:09:21 书生_AABB 阅读数:18994   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blo ...

python中// 和/有什么区别

python中// 和/有什么区别 通常C/C++中,"/ " 算术运算符的计算结果是根据参与运算的两边的数据决定的,比如: 6 / 3 = 2 ; 6,3都是整数,那么结果也就是 ...

Python 2 和 3 的区别记录

Python 2 和 3 的区别记录 print 2:关键字,可以 print a,也可以 print(a) 3:内置函数,必须带(),print(a) reload() 2:内置函数,可以直接使用 ...

Python中__repr__和__str__区别

Python中__repr__和__str__区别 看下面的例子就明白了 class Test(object): def __init__(self, value='hello, world!'): ...

Java Web开发和Python Web开发之间的区别

今天的文章讨论了Java Web开发和Python Web开发之间的区别.我不鼓励我们在这里从Java Web迁移到Python Web开发.我只是想谈谈我的感受.它不一定适合所有情况,仅供我们参考. ...

iOS exit(),abort(),assert()函数区别

iOS exit(),abort(),assert()函数区别 exit() 退出程序 abort() 停止程序, assert()检查里面的参数如果为nil抛出异常:

随机推荐

margin-bottom在IE6和IE7下失效的解决办法

IE6/7下margin-bottom无效一般出现在容器里某元素设置后在父容器内无效,这个时候只需要在父容器中加入以下两句css,基本上所有的浏览器都兼容了: overflow:hidden;zoom ...

Shi-Tomasi角点检测

代码示例: #include #include #inc ...

地理数据可视化:Simple,Not Easy

如果要给2015年的地理信息行业打一个标签,地理大数据一定是其中之一.在信息技术飞速发展的今天,“大数据”作为一种潮流铺天盖地的席卷了各行各业,从央视的春运迁徙图到旅游热点预测,从大数据工程师奇货可居 ...

通过继承nsoperation的方法--处理复杂任务

#import @class TTOperation; @protocol TTOperationDelegate

BestCoder Round #61 (div.2)

Numbers Accepts: 571 Submissions: 1212 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/26 ...

[CSS3]学习笔记-文字与字体相关样式

1.给文字添加阴影

&lt ...

jsp常用的jstl语法

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值