#!/usr/bin/env python
# coding:utf-8

def retry(times, exceptions=None):
    exceptions = exceptions if exceptions is not None else Exception
    def wrapper(func):
        def wrapper(*args, **kwargs):
            last_exception = None
            for _ in range(times):
                try:
                    return func(*args, **kwargs)
                except exceptions as e:
                    last_exception = e
            raise  last_exception
        return wrapper
    return wrapper