Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask Pymongo异常管理_Python_Flask_Pymongo - Fatal编程技术网

Python Flask Pymongo异常管理

Python Flask Pymongo异常管理,python,flask,pymongo,Python,Flask,Pymongo,我有一个烧瓶路线定义如下: @app.route('/api/v0.1/getTopPosts', methods = ['POST']) @auth.login_required def get_top_posts(): if not request.json or not 'page' in request.json: abort(400) resultsPerQuery = 10 page = int(request.json['page']) skip = (

我有一个烧瓶路线定义如下:

@app.route('/api/v0.1/getTopPosts', methods = ['POST'])
@auth.login_required
def get_top_posts():
  if not request.json or not 'page' in request.json:
    abort(400)

  resultsPerQuery = 10
  page = int(request.json['page'])
  skip = ( page - 1) * resultsPerQuery;

  postsToReturn = []
  errorDidOccur = False

  #get top posts
  try:
      topPostsReturn = db.collection.find({"isActive":"yes","state":{ "$BAD" : False }}).sort('rank',1).limit(resultsPerQuery).skip(skip)

      for topPost in topPostsReturn:
        postsToReturn.append(db.collection.find_one({'_id':topPost['posts_id']}).copy())

  except pymongo.errors.OperationFailure as e:
      errorDidOccur = True


  if errorDidOccur:
      reply = {
          'reply' : 'failure',
          'error' : e,
          'data' : None
      }
  else:
      reply = {
          'reply' : 'success',
          'error' : None,
          'data' : postsToReturn
      }

  return dumps(reply)
我插入$BAD以生成操作失败异常。我的问题是“e”不是JSON可序列化的。我得到:

TypeError: OperationFailure(u'database error: invalid operator: $BAD',) is not JSON serializable
我该如何报告错误

谢谢使用

'error' : e.message,
而不是

'error' : e,