dedlfix: try/catch - warum wird throw new Error() nicht ausgeführt und ist das die richtige Art, zurückzugeben was genau falsch ist?

Beitrag lesen

problematische Seite

Tach!

Ich kann das Problem nicht nachvollziehen.

Ah, ich hab den Rest von deinem Code gefunden. Es liegt nicht am throw, sondern dass der catch-Block nicht ausgeführt wird, weil deine Bedingung Object.values(objParameters).includes(false) nicht wahr wird. Alle anderen Exceptions sind bereits behandelt worden.

Generell ist zu sagen, dass du zu viel try-catch verwendest. Geworfen werden sollten nur Ausnahmen. Deine Prüfungen hingegen sind normaler Programmfluss innerhalb check-Funktion. Es besteht kein Grund, sie in try-catch-Blöcke einzurahmen, in denen nur du selbst Exceptions wirfst.

Das return im finally ergibt auch keinen Sinn. Du kannst nicht gleichzeitig eine Funktion mit einer Exception und normalem Ergebnis beenden. Deine Check-Funktion gibt einen Status zurück. Sie läuft (normalerweise) intentionsgemäß und es gibt darin keine Bedingung, die einen außergewöhnlichen Abbruch erfordert. Du kannst mit den jetzigen Prüfungen komplett auf Exceptions verzichten.

dedlfix.