【问题标题】:How to catch any err msg in Meteor?如何在 Meteor 中捕获任何错误消息?
【发布时间】:2015-10-06 05:05:12
【问题描述】:

official docs,我看到了这个:

Meteor.call("methodName", function (error) {
  // identify the error
  if (error.error === "logged-out") {
    // show a nice error message
    Session.set("errorMessage", "Please log in to post a comment.");
  }
});

无论错误消息是什么,我都想在方法中捕获异常。这是这样做的方法吗:

Meteor.call('insertJobLocationData', companyid, jobloc, function (err) {
if (err) {
  Session.set("lastErrMsg", "insertJobLocationData failed");
}

?

【问题讨论】:

  • 我看不出你在第二个代码块中的内容有什么问题。应该工作

标签: mongodb meteor


【解决方案1】:

是的。通常,您可能还想处理结果。例如:

Meteor.call('myFunction',parameter1,parameter2,function(err,result){
  if (err) {
    console.log("Whoopsies! "+err.error);
    Session.set("lastErrMsg", "insertJobLocationData failed");
  } else console.log("Result is "+result);
});

随着您的应用接近部署,您会想要查看Kadira,它不仅可以用于性能监控,还可以用于错误监控。

【讨论】:

  • err 是一个对象,所以+ 不会将其转换为字符串只会给您“[object Object]”吗?
  • 取决于生成它的原因是什么?大多数 Meteor 错误似乎都以简单的字符串形式出现。如果他用new Meteor.error 抛出错误,那么是的,它将是一个对象;逻辑会起作用,但 console.log() 不会提供那么多信息。
  • 但是你是对的,从 Meteor.call 回来的错误是正确的 - 改变了答案。
猜你喜欢
  • 2022-01-08
  • 2018-01-16
  • 2012-07-08
  • 2012-11-18
  • 1970-01-01
  • 2019-01-18
  • 1970-01-01
  • 1970-01-01
  • 2016-03-25
相关资源
最近更新 更多