Warum bringt mich ein Abruf von fehlenden Ressourcen direkt zum Fangblock?
Posted: 06 Apr 2025, 22:17
Ich verwende die Fetch-API zum ersten Mal und führt einen Code in einer (aktuellen Version von) Thunderbird aus: < /p>
Wenn ich dies mit einem URI ausführe, bei dem eine relevante Ressource existiert, funktioniert sie (d. H. Dostuff () macht seine Sachen). Aber wenn ich dies mit einem URI mit einem gültigen Server ausführe, aber mit einem Pfad zu einer fehlenden Seite, bekomme ich nicht wirklich das, was ich erwartet habe ... die Fehlerkonsole zeigt mir: < /p>
fetching failed: TypeError: NetworkError when attempting to fetch resource.
< /code>
Also drücke ich auf den Fangblock, aber nicht mit dem Fehler, den ich in den damaligen Block geworfen habe. < /p>
Meine Frage: Warum ist das der Fall? Und - Was kann ich tun, um die Situation der Ressource unterscheiden zu können, die von anderen Fehlern fehlt (z.>
Code: Select all
let uri = whatever();
window.fetch(uri)
.then((response) => {
console.log(`got response with status ${response.status}`);
if (!response.ok) {
throw new Error(`thrown response status: ${response.status}`);
}
return response.text();
})
.then((xhtml) => doStuff(xhtml))
.catch((err) => console.error(`fetching failed: ${err}`));
fetching failed: TypeError: NetworkError when attempting to fetch resource.
< /code>
Also drücke ich auf den Fangblock, aber nicht mit dem Fehler, den ich in den damaligen Block geworfen habe. < /p>
Meine Frage: Warum ist das der Fall? Und - Was kann ich tun, um die Situation der Ressource unterscheiden zu können, die von anderen Fehlern fehlt (z.>