2017-09-27 4 views
0

Die Ausgabe zeigt nichts, was im Code falsch ist, ich nicht ausWarum Ausgabe zeigt keine Sache

<!DOCTYPE text> 
 
<html> 
 
<head> 
 
    <title>Exceptional Handling </title> 
 

 
    <script type="text/javascript"> 
 
     var a = 200; 
 
     var b = 10; 
 

 
     try { 
 
     if(b == 0) { 
 
      throw("Divide by zero error"); 
 
     } else { 
 
      var c= a/b; 
 
      document.write(c); 
 
     } 
 
     } catch(e) { 
 
     alert("Error"+e); 
 
     } finally() { 
 
     document.write("Anything will be executed here"); 
 
     } 
 
</script>

Die Ausgabe zeigt nichts gefunden konnte, was ist falsch in dem Code ich konnte nicht gefunden

+0

'finally()' sollte 'finally' sein. Siehe die Dokumentation: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/try...catch – davidxxx

+0

Ich stimme zu schließen. – davidxxx

Antwort

0

Das Problem scheint zu sein, dass in einer try..catch..finally-Anweisung das "endlich" keine Argumente hat. Ich habe auch ein Leerzeichen und ein Semikolon zum Alarmtext und
zur finally-Anweisung hinzugefügt, um die Ausgaben angenehmer zu machen. Ich hoffe das hilft.

<script> 
// For clarity, result is 20. Changing "var b" to 0 throws the error alert. 
// 'finally' statement is always executed regardless. 

var a = 200; 
var b = 10; 

try{ 
    if(b == 0){ 
throw("Divide by zero error"); 
} else{ 
    var c = a/b; 
    document.write(c); 
    } 
} 

catch(e){ 
    alert("Error: "+e); 
} 

finally{ 
    document.write("<br>Anything will be executed here"); 
} 
</script> 
0

sollten Sie finally verwenden, nicht finally():

<!DOCTYPE text> 
 
<html> 
 
<head> 
 
    <title>Exceptional Handling </title> 
 

 
    <script type="text/javascript"> 
 
     var a = 200; 
 
     var b = 10; 
 

 
     try { 
 
     if(b == 0) { 
 
      throw("Divide by zero error"); 
 
     } else { 
 
      var c= a/b; 
 
      document.write(c); 
 
     } 
 
     } catch(e) { 
 
     alert("Error"+e); 
 
     } finally { 
 
     document.write("Anything will be executed here"); 
 
     } 
 
    </script> 
 
</head> 
 
</html>

+0

ist es ein Tippfehler. Die Frage wäre wahrscheinlich nicht nützlich. – davidxxx

0

Wenn Sie an der Browser-Konsole anschauen, werden Sie sehen, dass es einen Fehler Begegnungen:

SyntaxError: missing { before finally block

Die Fehlermeldung, die Sie nicht, dass Sie auf die genauen Fehler taten hindeuten könnte, aber das Lesen der Dokumentation über try...catch wird dies tun. finally hat keine Argumente, also entfernen Sie die () danach und Ihr Code wird funktionieren.