def rethrow(exception, additional_message):
    """
    重新抛出当前作用域中的最后一个异常, 保留堆栈信息, 并且在报错信息中添加其他内容
    """
    e = exception
    m = additional_message
    if not e.args:
        e.args = m,
    else:
        e.args = (e.args[0] + m,) + e.args[1:]
    raise e
