码迷,mamicode.com
首页 > 编程语言 > 详细

python raise和assert的区别

时间:2017-10-27 01:33:37      阅读:892      评论:0      收藏:0      [点我收藏+]

标签:创建   uri   print   代码   als   /usr   将不   表达   blog   

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 来显示代码编写未完成

 

python raise和assert的区别

标签:创建   uri   print   代码   als   /usr   将不   表达   blog   

原文地址:http://www.cnblogs.com/40kuai/p/7739778.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!