python3_装饰器_异常处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3_装饰器_异常处理相关的知识,希望对你有一定的参考价值。

装饰器:


def auth(func):
    def wrapper(name):                     如果函数带参数,要加在这里
        user=raw_input("input passwd:").strip()
        if user==‘test‘:
            print "welcome login"
            func(name)              如果函数带参数,要加在这里
        else:
            print "auth is denied"
    return wrapper
@auth
def task(name):                                 带参数的函数
    print "do something"


task(name)

异常处理:
try:
    name="kim"
    name_list=[‘kim‘,‘deng‘,‘min‘]
    print Name
#    print name_list[4]
except NameError,err:   
    print err
print ‘--do sth else--‘

except Exception,e:         可以抓住所有的异常
    print ‘‘

else:                  没有抓住异常则else
    print ‘‘
finally:                无论有没有异常都会执行
    print ‘‘

手动触发异常:
class myException(Exception):
    pass
try:
    code
    raise myException
except ......


以上是关于python3_装饰器_异常处理的主要内容,如果未能解决你的问题,请参考以下文章

Python装饰器UI自动化当界面元素迟迟未加载出来时的灵活处理办法

测试装饰器引发的异常的好方法是啥?

在 Python 中使用装饰器进行 AssertionError 异常处理

四大器

读C#代码整洁之道笔记03_切面关注点异常处理和线程与并发

迭代器抛出异常处理方法