Daniel Thoma: Abfragen ob ein Objekt existiert

Beitrag lesen

Hallo Cybaer,

Nochmal der Hinweis, daß try...catch in der normalen Programmgestaltung nichts zu suchen hat.

try-catch hat im regulären Programmablauf nichts zu suchen, d.h. wenn alle Voraussetzungen erfüllt sind, um die vorgesehene Aufgabe zu erfüllen, sollte keine Exception geworfen werden.
try-catch ist aber ansonsten sehr wohl gedacht um Fehler- und  Ausnahmesituationen einfacher handhabend zu können. Exceptions sind also nicht nur für Fehler zuständig, die gar nicht erst auftreten können, sondern auch für "unerwartete" Ereignisse. Bspws das eine Datei nicht lesbar ist, ein Server nicht antwortet oder eben ein Objekt nicht verfügbar ist.

So etwas wäre ein ganz regulärer Anwendungsfall:

  
try {  
  // tue verschiedene dinge mit objekten die es villeicht nicht gibt  
} catch (err) {  
  // versuche ohne diese objekte auszukommen  
}  

Wenn man nicht nur ein Objekt sondern mehrere benötigt, kann das sehr viel eleganter sein. Außerdem ist es einfacher, die Fehlerbehandlung den Stack hoch zu delegieren, falls man das möchte.

Was man hingegen nicht tun sollte ist so etwas:

  
try {  
  var i = 0;  
  while (true) {  
    i++;  
    tuewas(array[i]);  
  }  
} catch (err) {  
  
}  

Grüße

Daniel