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

Javascript 如何处理Node.js URL对象中的错误,javascript,node.js,url,Javascript,Node.js,Url,我想使用一个函数来提取节点中URL的一部分,还想使用它来验证数据 这是文档或,这是我的功能: function getHostname(url) { var website = new URL(url); return website.hostname; } 当接收到的URL无效时,问题就出现了。我如何处理错误?在这种情况下,它将返回原始字符串?只需使用try/catch语句: function getHostname(url) { try { var website =

我想使用一个函数来提取节点中URL的一部分,还想使用它来验证数据

这是文档或,这是我的功能:

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

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

只需使用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
  }
}
由于TypeError是由错误的URL引发的,因此您可以捕获它