Rouven: Eine Function die ich nicht verstehe

Beitrag lesen

Hello,

function runsecure(proc, errmsg)
{
try
{
  eval(proc);
}
catch(e)
{
  if(errmsg!="") alert(errmsg);
}
}

na ja die grundsätzliche Logik ist recht einfach.
Mittels eines try-catch-Blockes fängt man Fehler. Man sagt also im try-Block "versuch mal folgende JavaScript-Anweisungen". Tritt dabei eine Exception auf, dann bricht nicht der Browser mit nem gelben Ausrufezeichen oder Eintrag in der JavaScript-Konsole ab, sondern springt einfach in den catch-Block. Passiert kein Fehler geht der Programmablauf hinter dem catch weiter.
In diesem Fall wird der Fehler in jedem Fall gefangen, optional kann der Programmierer beim Aufruf eine Fehlermeldung mitgeben.
Mittels eval führt man die Anweisungen in einem String aus, quasi JavaScript in JavaScript.

Beispiel:
runsecure("document.getElementById("nicht_existentes_element")", "Element nicht gefunden.");

MfG
Rouven

--
-------------------
Inter Arma Enim Silent Leges  --  Cicero