Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

try catch não funciona

Tendo eu aprendido um pouco de Java, fiquei com vontade de tratar o erro da requisição com try catch. Porém não funciona, o código é o seguinte:

var buscarPacientes = document.querySelector("#buscar-pacientes");

buscarPacientes.addEventListener("click", function() {
     //Utilização de tecnica AJAX.
     var xhr = new XMLHttpRequest();
     xhr.open("GET", "https://api-pacientes.herokuapp.com/pacientess");

     try {
         xhr.addEventListener("load", function() {
             var resposta = xhr.responseText;
             var pacientes = JSON.parse(resposta);
             adicionaPacienteNaTabela(pacientes);
         });
         xhr.send();         
     } catch(error) {
         console.log("Erro na requisição: " + error);
     }
});

Poderiam me dizer por quê não pega o erro no cacth ou se há algo de errado no código?

3 respostas
solução!

você não consegue capturar erros de servidor assim. você deve verificar o código de status em vez disso

outra coisa é que isso é assíncrono.

Isso significa que esse código acaba sendo executado antes que a resposta chegue.

Obrigado Luis Felipe, agora entendi!

boa, fico feliz em ajudar!