Hallo Mitleser,
ein try-Block, der nichts weiter tut als etwas zu prüfen und im Fehlerfall eine Exception zu werfen, gefolgt von einem catch-Block, der diese Exception gleich wieder wegschnappt, ist Unfug. So ist das nicht gedacht.
Man könnte "JSON.parse" als eines der wenigen Gegenbeispiele anführen…
Nein, sondern als Pro-Beispiel. JSON.parse entspricht der Foo.prototype.someMethod Methode Funktion aus meinen Ausführungen.
Und derjenige, der JSON.parse nutzt, ist der Aufrufer, der die Exception fangen muss. Einen Syntax-Error wegen fehlerhaften JSON sollte man zügig fangen, damit man ihn von anderen SyntaxError unterscheiden kann (nachträglich im stack-Property des Errors rumzufuhrwerken, um zu schauen, ob JSON.parse drin steht, halte ich für keine sinnvolle Lösung).
Strategien für's Errorhandling - gerade wenn viel Code läuft und ggf. größere Blöcke transaktional behandelt werden müssen, sind eine Wissenschaft für sich.
Rolf
sumpsi - posui - obstruxi