Wie stelle ich sicher, dass alle JavaScript -Fehler in die Chrome Developer Tools Console geschrieben werden?

StackOverflow https://stackoverflow.com/questions/9318728

  •  26-10-2019
  •  | 
  •  

Frage

Betrachten Sie die folgende JavaScript -Funktion:

function triggerError() {
   var something = undefined;
   // The next line will trigger 'TypeError: Cannot call ... of undefined'
   something.doesNotExist();
}

Beim Laufen triggerError(); Direkt wird der folgende Fehler in rot an die Chrome Developer Tools -Konsole geschrieben, was erwartet wird:

TypeError: Cannot call method 'doesNotExist' of undefined

Allerdings wann triggerError(); wird von einem Ereignishörer ausgeführt something.doesNotExist();) was die Dinge im Falle von Tippfehler usw. ziemlich schwierig machen, etc. usw.

Wie stelle ich sicher, dass alle Fehler in die Chrome Developer Tools -Konsole geschrieben werden, einschließlich Fehlern, die in Code generiert werden, die von Ereignishörern/Rückrufen ausgeführt werden?

Eine offensichtliche Arbeit wäre es, hinzuzufügen try { ... } catch (x) { console.log(x) }; Überall, aber da ich vorher nicht weiß, wo ich Tippfehler hinzufügen werde, ist dies kein Weg nach vorne.

War es hilfreich?

Lösung

Könnten Sie Ihr Beispiel zeigen, ich habe versucht, es auf dem folgenden Snippet zu reproduzieren, und es funktioniert für mich vollkommen in Ordnung:

<script>
function triggerError() {
   var something = undefined;
   // The next line will trigger 'TypeError: Cannot call ... of undefined'
   something.doesNotExist();
}
window.addEventListener("click", triggerError, true);
</script>
<body onclick="triggerError()">
</body>

Andere Tipps

Sie könnten a verwenden try catch :

function triggerError() {
    try{
        var something = undefined;
        // The next line will trigger 'TypeError: Cannot call ... of undefined'
        something.doesNotExist();
   }catch(ex){
        console.error(ex.message);
   }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top