首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Parse.com云代码和javascript API处理错误

使用Parse.com云代码和javascript API处理错误
EN

Stack Overflow用户
提问于 2014-01-01 03:33:56
回答 3查看 2.2K关注 0票数 5

使用Parse.com云代码处理错误的最佳方式是什么?我可以使用console.log和Firebug来查看Parse Cloud Code何时抛出错误,但我需要一些帮助来通知客户端出了问题。两边的一些示例代码确实很棒-- Cloud code和客户端javascript代码。

EN

回答 3

Stack Overflow用户

发布于 2014-11-23 17:51:22

我更喜欢这种方式-

在云代码上创建一个ErrorHandler.JS文件-

代码语言:javascript
复制
exports.sendError = function(response, message, data) {
    console.log("Message - " +  message + " Data - " + JSON.stringify(data)); // To print LOG on Cloud Code
    // Moreover you can use any of - "console.error/warn" - as mentioned - https://parse.com/docs/cloud_code_guide#logging
    response.error({
        status      : false, // Indicates EXECUTION STATUS - I am using "successHandler" also & using STATUS as "true" 
        message     : message, // Refers to Error Message
        data        : data || {} // Error Object or your customized Object
    });
}

在客户端,如果需要,您可以打印所有数据,也可以只向用户显示警告消息。

此外,出于开发目的,最好同时检查服务器端和客户端日志,因为解析云代码只在日志中存储最后100条消息。

为了实现正确的日志记录,您必须根据类制定一些具有适当存储结构的自定义过程。

票数 2
EN

Stack Overflow用户

发布于 2014-05-17 19:58:22

Parse具有a section on Error Handling for Promises

例如,在云代码中运行查询时

代码语言:javascript
复制
query.find().then(function(result){ ... }, 
   function(error){
       response.error("Error occurred: " + error.message);
   }

这将向客户端发送错误消息。

票数 1
EN

Stack Overflow用户

发布于 2014-08-02 06:16:20

作为一个实验,我用各种字符串/对象尝试了response.error,下面是每个字符串/对象的返回值(注释向客户端显示返回值)。

本质上,它总是返回代码141,而您只能返回一个字符串。我很惊讶,从异常传递众所周知的err对象返回了{},我猜这是出于安全原因。我不明白的是,为什么你不能在服务器上console.log(err),因为这给我造成了很多困惑,当我试图弄清楚发生了什么。基本上,您总是需要在console.log语句中执行err.message,才能弄清楚到底发生了什么。

代码语言:javascript
复制
response.error("Some String of text") // --> {code: 141, message: "Some String of text"}
response.error( new Error("My Msg") ) // -->  {code: 141, message: "{}"}

try {
    var x = asdf.blah;
}catch(err) {
    return response.error(err.message); // -->  {code: 141, message: "asdf is not defined"}
}

response.error( err );  // -->  {code: 141, message: "{}"}
response.error( Parse.Error(Parse.Error.VALIDATION_ERROR, "My Text") ); // --> {code: 141, message: "An error has occurred"}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20862418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档