我想使用一个函数来提取Node中的部分URL,并希望用它来验证数据。
这是文档或U+002D,这是我的功能:
function getHostname(url) {
var website = new URL(url);
return website.hostname;
}
当收到的URL无效时会出现问题,我将如何处理错误,以便在这种情况下返回原始字符串?
答案 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,您可以捕获它。