2016-04-07 16 views
1

ich die folgende Zeile in meiner JavaScript-Datei, die eine Fehlermeldung auf der Konsole erstellt:JavaScript unterdrückt einen bestimmten Fehler

myObject.width = 315; 

ich auf der Konsole diese Fehlermeldung ausblenden möge. Ich meine, dass diese Codezeile ausgeführt wird, es wird einen Fehler geben, aber es wird nicht im Konsolenprotokoll angezeigt.

Ich lese über window.onerror, aber es hat nicht funktioniert. Wie ich verstehe, deaktiviert dies alle Fehler auf einer Seite, jedoch möchte ich die Fehler nur meiner Zeile deaktivieren. Ich habe versucht, es richtig nach, aber es hat auch nicht funktioniert:

Gibt es eine Umgehungslösung für diese? Vielen Dank.

+0

Warum soll es einen Fehler geben, wenn es den Fehler nirgendwo zeigt? Warum nicht einfach prüfen, ob 'myObject' gesetzt ist? – Barmar

+0

Ich möchte den Fehler nicht geben. Ich möchte nur den Code mit seinen Fehlern ausführen, aber nicht zeigen. –

Antwort

3

Im Allgemeinen sollte dies keinen Fehler ergeben. Was ist der Fehler, den Sie bekommen? Das myObject ist nicht definiert? Wenn ja, fügen Sie einfach eine Sicherheitsmaßnahme hinzu und prüfen Sie, ob sie definiert ist. Wie zum Beispiel:

if (myObject) { 
    myObject.width = 315 
} 

Das heißt, Sie es durch das Einwickeln in einem try-catch

try { 
    myObject.width = 315; 
} 
catch(err) { 
    // do nothing 
} 

das zu sehen, was passiert, versuchen Sie den folgenden Code ausführen und sehen, was passiert, wenn Sie entfernen surpress können var myObject = {} Linie.

var myObject = {} 

try { 
    myObject.width = 315; 
} catch(err) { 
    console.log('error'); 
} 

console.log(myObject) 
+0

Dies verhindert den Fehler, aber die Codezeile wird nicht ausgeführt. –

+0

@ FarukYazıcı Was erwarten Sie, wenn ein Fehler auftritt? – Barmar

+0

@ FarukYazıcı Die Zeile myObject.width = 315; ist sehr viel ausgeführt. Ich habe meine Antwort mit einem Beispiel aktualisiert. Sehen Sie, dass das aktualisierte Objekt protokolliert wird? Und wenn Sie die erste var-Anweisung entfernen, wird "error" protokolliert. –

Verwandte Themen