在Meteor中捕获错误的问题

时间:2016-01-31 02:43:40

标签: meteor error-handling try-catch box

我使用Meteor中的HTTP方法调用外部API(Box)。这些工作正常,但我正在尝试实现一些错误处理,并遇到了捕获错误的问题。

Meteor.methods({
    copyTemplateFolder: function () {
    this.unblock();
    var accessToken = Meteor.user().services.box.accessToken;

    var apiURL = "https://api.box.com/2.0/folders/FOLDER_ID/copy";
    var apiCall = HTTP.post(apiURL, {
      params: {access_token: accessToken},
      data: {
        "parent": {
          "id" : FOLDER_ID
        },
        "name": "New Folder"
      }
    });

    try {

      var response = apiCall;
      console.log(response.data);

      return response.data;
    } catch(e) {
      console.log(e);
    }
});

我已经替换了一些ID等,但是没有错误时代码工作正常。但是当出现错误时,catch内的代码永远不会触发。我读过的所有内容都说明了应该如何做。

任何人都看到我正在做的事情有什么问题吗?

1 个答案:

答案 0 :(得分:0)

您的try-block不包含发生实际异常的部分。 handleize调用将抛出异常。从现有变量中检索子字段永远不会导致异常,即使该字段未定义。

这可能是你想要的:

post