function testFun() {
onerror = function() { log("caught the error"); return true; };
setTimeout(function() { throw "bad bad bad"; }, 300);
};
Dies ist Beispiel, Code, aber es zeigt ein Problem. Wenn ich dies in FF oder IE7 ausführe, druckt es die sinnvolle "gefangen den Fehler" Nachricht (eine sinnvolle "Log" -Funktion vorausgesetzt).onerror Handhabung mit VS2008
Wenn ich jedoch den Code in VS2008 debuggen, stoppt der Debugger auf dem Wurf mit der Nachricht: 'Microsoft JScript-Laufzeitfehler: Ausnahme ausgelöst und nicht gefangen'. Wenn ich 'fortfahren' oder 'ignorieren' sage, wird die Protokollnachricht nicht erzeugt.
Dies ist ein Problem, da der echte Code, mit dem ich arbeite, viel größer ist als dieser, und ich möchte gelegentlich, Sie wissen, Debug-Zeug. Also zwei Fragen:
- Irgendwelche wissen, warum und kann ich dieses Verhalten mit einigen Flag ändern, über die ich nicht weiß?
- Mache ich, was ich denke, in diesem Code (Einstellung der globalen 'onerror' Handler)? Wenn nicht, was ist das geeignete Muster, um diese Art von Fehlern zu erfassen?
Hinweis: Es gibt keinen Unterschied zu diesem Problem, wenn ich window.onerror stattdessen verwende.