1
我正在使用节点中的URL module解析输入到函数的URL输入。将try catch语句与node.js URL模块一起用于URL验证
如果给出相对路径,则引发TypeError
。我使用的是try...catch
语句来处理这个如下图所示:
const { URL } = require('url');
try {
const absolute = new URL('https://static.pexels.com/photos/126407/pexels-photo-126407.jpeg');
console.log(absolute);
} catch (e) {
if (e instanceof TypeError) {
console.log('absolute is a relative path');
} else {
throw e;
}
}
try {
const relative = new URL('/images/picture.jpg');
console.log(relative);
} catch (e) {
if (e instanceof TypeError) {
console.log('relative is a relative path');
} else {
throw e;
}
}
这是一个合法的应用尝试catch语句的还是我有点滥用它?如果我错误地处理它,正确的方法是什么?
感谢您的输入! 我很期待这个错误,因为绝大多数路径都是相对的。这是为了避免登录吗?我担心的是出于其他原因而出现类型错误,这在前端没有看到。 对于上下文,如果您担心您在任何地方使用它并希望它更干净,则此代码生活在lambda函数 –
中。尝试编写一个只处理URL验证的模块,您只需要调用该模块的方法并确保错误在其内部处理... –
恐怕我的知识可能不够深入。你能否将我与文档联系起来,概述为什么抽象为模块是有益的?这是内部处理的错误,我没有跟着。 –