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驗證的模塊,您只需要調用該模塊的方法並確保錯誤在其內部處理... –
恐怕我的知識可能不夠深入。你能否將我與文檔聯繫起來,概述爲什麼抽象爲模塊是有益的?這是內部處理的錯誤,我沒有跟着。 –