code: def __err_handler(self, act, errno, callback=None, args=(), kwargs=None):
          
          kwargs = kwargs or {}
          errno = int(errno)
  
          def err_handler_download():
              if errno == 112:
                  # 页面失效, 重新刷新页面
                  url = 'http://pan.baidu.com/disk/home'
                  self.session.get(url)
  
              return
  
          def err_handler_upload():
              # 实际出问题了再写
              return
  
          def err_handler_generic():
              return
  
          _act = {'download': err_handler_download,
                  'upload': err_handler_upload,
                  'generic': err_handler_generic
                  }
  
          if act not in _act:
              raise Exception('行为未定义, 无法处理该行为的错误')
  
          if callback:
              return callback(*args, **kwargs)
          return None
docs: 百度网盘下载错误控制
          :param act: 出错时的行为, 有 download
          :param errno: 出错时的errno,这个要配合act才有实际意义
          :param callback: 返回时的调用函数, 为空时返回None
          :param args: 给callback函数的参数tuple
          :param kwargs: 给callback函数的带名参数字典
  
          在本函数调用后一定可以解决提交过来的问题, 在外部不需要重复检查是否存在原问题