javascript - 打印自定义错误消息时的异常处理中的 "undefined"

标签 javascript

您好,我的自定义错误消息显示“未定义”。为什么?我只想要错误消息。有人可以帮忙吗。

function divide() {
  let num = 2;
  let den = 0;
  try{
    if (den == 0){
      throw new Error("division invalid");
    }
    return Number(num/den);
  } catch(e){
    console.log(e.message);
  }
}
console.log(divide());

最佳答案

没有显式返回的函数会隐式返回undefined。您抛出一个错误,然后在 catch block 中没有返回任何内容。由于您没有返回值,因此它会发送 undefined

function divide() {
  let num = 2;
  let den = 0;
  try {
    if (den == 0) {
      throw new Error("division invalid");
     }
     return Number(num/den);
  } catch(e){
    console.log(e.message);
    return 'Can\'t divide by 0!';
  }
}

console.log(divide());

请注意,在此代码片段中,我在 catch 中返回一个字符串。 return Number(num/den); 行永远不会被调用,因为出现错误。

关于javascript - 打印自定义错误消息时的异常处理中的 "undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43685050/

相关文章:

javascript - 两个数组,长度相同。如果第一个数组值等于 true 从第二个数组中获取值

javascript - 使用 ember-data-url-templates 的 EmberJS 自定义适配器

javascript - 位置 :fixed and hash tags (details in body) 的问题

javascript - 将Leaflet map 的JSON转换为GeoJSON的更好方法是什么

javascript - webpack 上的通配符入口点 usng glob 出现错误

javascript - 如何预加载谷歌地图的特定区域?

javascript - 使用 bootstrap 在另一个页面上设置事件幻灯片

javascript - PhantomJS 文件上传不适用于 XPath 表达式

javascript - 如何使用正则表达式获取字符串中的字母数字或数值?

javascript - 悬停时暂停新闻 slider /股票行情指示器