jqkyp 发表于 2018-8-16 08:09:32

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
  
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 ......
页: [1]
查看完整版本: python3_装饰器_异常处理