O código criado em aula foi esse:
try { fs.lstatSync(caminho); } catch (erro) { if (erro.code === 'ENOENT') { console.log('arquivo ou diretório não existe'); return; } }
Porém ao executá-lo eu recebi um SyntaxError por causa do return
que consegui resolver substituindo ele por process.exit()
, além disso a condição do if não estava respondendo como esperado e ao testar console.log(erro.code)
recebi ERR_INVALID_ARG_TYPE como retorno, então coloquei isso na condição do if e funcionou tudo como esperado, porém não ficou tão claro pra mim o porquê funcionou kkkkk. Se alguém puder me explicar eu agradeço.
A versão do código com essas alterações ficou assim:
try { fs.lstatSync(caminho); } catch (erro) { if(erro.code === "ERR_INVALID_ARG_TYPE"){ console.log("ERRO: Arquivo ou diretório não existe"); process.exit(); } }