1unitedpower: Herangehensweise bei Fehlern, wenn man Frameworks verwendet

Beitrag lesen

ein richtiges Framework bildet, wie der Name schon vermuten lässt, einen Rahmen. In diesem Ramen laufen immer wiederkehrende Vorgänge in einer geordneten bzw. durch das FW bestimmten Reihenfolge ab. Wenn es sich um ein Web-FW handelt, beschreiben diese Vorgänge einen Programmablauf der mit dem Request beginnt und mit der Ausgabe der Response endet.

Gut erklärt 👍

Kannst Du diesen Rahmen anhand Deines FW nachvollziehen? Wenn ja, solltest Du dafür genau 2 Zeilen finden. Nun setze alles was sich zwischen diesen beiden Zeilen befindet in einen try-{}-Block. So werden alle Exceptions aufgefangen […]

Jein, der Kontrollfluss in Node.js ist größtenteils asynchron, da funktioniert Fehlerbehandlung mit try/catch nicht. Das folgende Beispiel verdeutlicht das Problem:

async function raiseException() {
	throw 'catch me if you can'
}

try {
	raiseException()
} catch (e) {
	console.log('gotcha')
}

// --> Uncaught (in promise) catch me if you can

Als Konsequenz daraus haben sich in der asynchronen Programmierung andere Methoden für die Fehlerbehandlung durchgesetzt. Das möchte ich allerdings hier gar nicht vertiefen, weil ich denke, dass Fehlerbehandlung und Debugging zwei verschiedene paar Schuhe sind. Beim Debuggen empfinde ich es eher lästig mir manuell Variablen-Inhalte zu dumpen. Node.js hat hervorragende interaktive Debugger, die uns viel schneller als Ziel bringen können. Für browserseitiges JavaScript gilt das gleiche.