JavaScript Fehler ignorieren

Alkor35

Ensign
Registriert
Aug. 2004
Beiträge
134
Hi,

wie kann ich im Javascript einen Fehler ignorieren? Sprich, das der Script weiter ausgeführt wird.

Code:
<script type="text/javascript">
	try {
	    var z = 10 / 0;
	}
	catch (e) {
	}
        alert("Test");
</script>

Ich möchte in diesem kleinen Beispiel, dass obwohl ein Fehler auftritt die "alert" Meldung angezeigt wird
 
Hi,

wird sie ja auch?! Bei mir zumindest... 1:1 kopiert, alert wird angezeigt... "10 / 0" ergibt bei mir schlicht "infinity"...

VG,
Mad
 
Zuletzt bearbeitet:
Baue ich eine alert Box in der Catch anweisung ein, wird mir dies Angezeigt, jedoch nicht die zweite mit Test. Gibt es irgendwelche Grundeinstellungen dazu?
 
Hi,

negativ, bei mir keine angezeigt im Catch. Ist das exakt der Code, den du benutzt? Kann eigentlich nicht sein...

Generell würde ich - wenn etwas unabhängig von einem Fehler immer gemacht werden soll - try-catch-finally verwenden.

Aber nochmal: bei dem Codeschnipsel den du hier gepostet hast geht er bei mir definitiv nicht in den "catch"-Zweig. Nochmal prüfen, was du da wo stehen hast.

VG,
Mad
 
Madman1209 schrieb:
"10 / 0" ergibt bei mir schlicht "infinity"...
was natürlich schlichtweg falsch ist...

aber: der try/catch - Block macht genau, was er soll. Wenn das Alert nach dem Block nicht triggert, dann hat eher der Browser n Sockenschuss. Da hilft nur: JS-Konsole aufmachen und gucken, was spinnt.

Ok. grad nochmal rumgefiddlet.. der Block macht doch nicht, was er soll... aber er sollte es tun. Division durch Null ist definitiv ein Fall für n Error.
Faszinierend, dass sich JS hier scheinbar gaaanz anders verhält als alle anderen Sprachen. console.log(10/0); -> infinite statt error
 
Zuletzt bearbeitet:
Hi,

wieso falsch? Siehe hier.

In JavaScript, division by zero does not cause an error. Instead, it evaluates to Infinity, which is a reserved word (note the capital “I”).

Ist vollkommen korrekt und in Javascript schlicht so.

VG,
Mad
 
Mathematisch falsch... aber siehe mein Edit... JS ist da wirklich dämlich was DivZero angeht.
 
Hi,

mathematisch sei es dahingestellt, in JavaScript ist es aber eben nicht "schlichtweg falsch" und darauf wollte ich hinaus.

VG,
Mad
 
Ok, wir hatten ein Verständigungsproblem. Mir fehlte zu dem Zeitpunkt die Info, dass JS das absichtlich so handhabt.
Aber unabhängig davon ist die erwartete Ausgabe einer Division durch Null ein Fehler, kein "Infinite". JavaScript kocht hier echt sein eigenes hirnloses Süppchen. Jeder 5€-Taschenrechner macht es "richtig", indem er crasht, denn wir alle wissen: Division durch Null ist "nicht definiert" und nicht "unendlich". Bei Math.sqrt(-25) gehts doch auch, da kommt NaN raus, nicht als komplexe Zahl oder gar "-5".
 
Hi,

klar, wusstest du eben nicht, ist ja kein Beinbruch. Ist aber eben in JS so :) Kann man nichts machen.Der Code oben verhält sich demnach vollkommen korrekt und der TE muss prüfen, wieso er bei ihm das "alert" nicht anzeigt.

VG,
Mad
 
Zurück
Oben