• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Unklarheiten oder Ungereimtheiten bei Exceptions

NetAktiv

Senior HTML'ler
Hallo,

ich bin immer davon ausgegangen, dass man mit throw eine Exception auslöst, die im catch-Block wie jede andere Ausnahme abgefangen werden kann und dann auch eine message-Property hat. Ebenso bin ich davon ausgegangen, dass eine von Javascript im Fehlerfall erzeugte Message ein normales Objekt mit der Property message ist, das man dann beispielsweise mit JSON kodieren kann. Mein Beispiel hier aber zeigt, dass dem nicht so ist. Zwei wesentliche Fragen stellen sich mir
  1. Ist denn mein Beispiel mit throw {} die einzige Möglichkeit, eine normale Exception mit message Property zu erstellen?
  2. Warum lässt sich die normale Exception nicht mit JSON kodieren
Grüße, Rainer

HTML:
<!DOCTYPE html>
<html>
<body>
<pre>
<script>
try { dummy(); } catch(err) { showError('dummy', err); }
try { throw "Mein Fehler"} catch(err) { showError('throw', err); }
try { throw { message : "Mein Error Object" } } catch(err) { showError('object', err); }

function showError(testCase, catchedErr ) {
    var out = "<br/>testCase:   " + testCase
            + "<br/>catchedErr: " + catchedErr
            + "<br/>typepof:    " + typeof(catchedErr)
            + "<br/>message:    " + catchedErr.message
            + "<br/>JSON:       " + JSON.stringify(catchedErr)
            + "<br/>";  
    document.write(out);
}
</script>
</pre>
</body>
</html>
 
Werbung:
Zurück
Oben