如何处理Node.js URL对象中的错误

时间:2017-11-12 00:29:22

标签: javascript node.js url

我想使用一个函数来提取Node中的部分URL,并希望用它来验证数据。

这是文档或U+002D,这是我的功能:

function getHostname(url) {
  var website = new URL(url);
  return website.hostname;
}

当收到的URL无效时会出现问题,我将如何处理错误,以便在这种情况下返回原始字符串?

1 个答案:

答案 0 :(得分:1)

只需使用try / catch语句:

function getHostname(url) {
  try {
    var website = new URL(url);
    return website.hostname;
  } catch(error) {
    if(error instanceof TypeError) {
      return url;
    } //just to check if TypeError, probably not necessary for your use
  }
}

由于引发了一个带有错误URL的TypeError,您可以捕获它。