装饰器:


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 ......