getLastErrObj()

名称

getLastErrObj - 以 bson 对象的方式,返回前一次操作的详细错误信息。

语法

getLastErrObj()

类别

Global

描述

获取前一次操作的详细错误信息。

参数

无。

返回值

若前一次操作发生错误,该函数以 BSON 对象的形式返回错误信息。否则,无返回值(即void)。BSON 对象包含的字段具体如下:

  • errno: (Int32) 错误码。
  • description: (String) 错误码对应的描述。
  • detail: (String) 详细的错误描述信息。
  • ErrNodes: (BSON object) 描述哪些数据节点发生了错误,及错误的详细信息(该字段为扩展字段,仅当错误发生在数据节点时才返回该字段)。

当操作协调节点发生错误,若该错误由某些数据节点产生,会有扩展字段:

  • ErrNodes: (BSON object) 描述发生错误的节点的详细信息。

版本

v2.6及以上版本。

示例

通过 getLastErrObj() 获取前一次操作的详细错误信息。当错误发生在数据节点时,返回的错误信息会带有 ErrNodes 字段描述。

  1. ```lang-javascript
  2. > db.sample.employee.createIndex("A",{"a":1})
  3. (shell):1 uncaught exception: -247
  4. Redefine index
  5. > var err = getLastErrObj()
  6. > var obj = err.toObj()
  7. > println( obj.toString() )
  8. {
  9. "errno": -247,
  10. "description": "Redefine index",
  11. "detail": "",
  12. "ErrNodes": [
  13. {
  14. "NodeName": "localhost:11830",
  15. "GroupName": "group2",
  16. "Flag": -247,
  17. "ErrInfo": {
  18. "errno": -247,
  19. "description": "Redefine index",
  20. "detail": ""
  21. }
  22. }
  23. ]
  24. }
  25. ```