Como capturar o erro do Chrome net :: ERR_FILE_NOT_FOUND no XMLHttpRequest?
Quero criar a extensão do Chrome, que será capaz de ler arquivos locais e usar o código escrito neles. Meu código simplesmente digitado é:
const readFile = (filePath) => {
return new Promise(function (resolve, reject) {
const xhr = new XMLHttpRequest()
xhr.onerror = (error) => {
reject(error)
}
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
resolve(xhr.response)
}
}
xhr.ontimeout = function () {
reject('timeout')
}
xhr.open('GET', filePath)
xhr.send()
})
}
async function () {
const code = await readFile(jsFilePath)
console.log(code)
}
Esse código funciona com êxito quando meu filePath está correto. Mas quando não é o console do Chrome, lança este erro:
GET file:///home/maxim/Documents/test.jsa net::ERR_FILE_NOT_FOUND
O bloco try / catch usual não funciona
async function () {
try {
const code = await readFile(jsFilePath)
console.log(code)
} catch (e) {
console.log(e)
}
}
Como posso pegar esse tipo de erro?