将fs.existsSync
置于try...catch
内是否具有实用价值?
是否可能导致错误?怎么会发生这种情况会发生什么错误呢?
我问的原因是因为我试图尽可能避免嵌套try...catch
。
答案 0 :(得分:3)
看at the (current) implementation,用try...catch
包裹它是没有意义的:
fs.existsSync = function(path) {
try {
handleError((path = getPathFromURL(path)));
nullCheck(path);
binding.stat(pathModule._makeLong(path));
return true;
} catch (e) {
return false;
}
};
答案 1 :(得分:3)
fs.existsSync
无法throw
出错。
Here是fs.existsSync
的实现,其中try..catch
出现自己的错误,并在发生错误时返回false
。