Wie überschreibe ich den globalen Ausnahme-Handler in JavaScript, damit es der oberste Handler für alle nicht abgefangenen Ausnahmen wird?Globaler JavaScript-Ausnahme-Handler (in Chrome)
EDIT: window.onerror funktionierte nicht, Code:
<HTML>
<HEAD>
<script language='javascript'>
window.onerror = function (em, url, ln) {
alert(em + ", " + url + ", " + ln);
return false;
}
function fGo() {
try
{
var a = b; // error here : b not defined
}
catch (e)
{
throw e;
}
}
</script>
</HEAD>
<BODY>
<button onclick='fGo()'>GO</button>
</BODY>
</HTML>
ich auf Chrom bin Tests, nebenbei bemerkt. Die Entwicklerkonsole registriert die nicht abgefangene Ausnahme, aber der alert() in window.onerror wird nicht angezeigt.
Das stimmt. Und WebKit hat kürzlich einige Fortschritte bei der Behebung dieses Fehlers gemacht. Es ist noch nicht behoben, aber hier haben Sie den Link für Updates: https://bugs.webkit.org/show_bug.cgi?id=8519 –
Nach http://groups.google.com/group/js-test- driver/browse_thread/thread/14c7e6d615a2b803? pli = 1 sollte in Chrome 10 behoben werden – Korny
Ich benutze Chrome 14 (die neueste Version) und window.onerror funktioniert! – Nick