From 7719618b297400f5bdc44b1be47f969ec582fb47 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 26 Nov 2005 11:06:56 +0100 Subject: exception handling in some code blocks --- functions.js | 87 ++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 47 insertions(+), 40 deletions(-) (limited to 'functions.js') diff --git a/functions.js b/functions.js index d236c4e18..36aa8fd6a 100644 --- a/functions.js +++ b/functions.js @@ -1,5 +1,10 @@ var hotkeys_enabled = true; +function exception_error(location, e) { + alert("Exception: " + e.name + "\nMessage: " + e.message + + "\nLocation: " + location); +} + function disableHotkeys() { hotkeys_enabled = false; } @@ -330,48 +335,51 @@ if (!xmlhttp_rpc && typeof XMLHttpRequest!='undefined') { function all_counters_callback() { if (xmlhttp_rpc.readyState == 4) { - - if (!xmlhttp_rpc.responseXML) { - notify("[all_counters_callback] backend did not return valid XML"); - return; - } - - var reply = xmlhttp_rpc.responseXML.firstChild; - - var f_document = parent.frames["feeds-frame"].document; - - for (var l = 0; l < reply.childNodes.length; l++) { - var id = reply.childNodes[l].getAttribute("id"); - var ctr = reply.childNodes[l].getAttribute("counter"); - - var feedctr = f_document.getElementById("FEEDCTR-" + id); - var feedu = f_document.getElementById("FEEDU-" + id); - var feedr = f_document.getElementById("FEEDR-" + id); - - if (feedctr && feedu && feedr) { - - feedu.innerHTML = ctr; + try { + if (!xmlhttp_rpc.responseXML) { + notify("[all_counters_callback] backend did not return valid XML"); + return; + } + + var reply = xmlhttp_rpc.responseXML.firstChild; + + var f_document = parent.frames["feeds-frame"].document; + + for (var l = 0; l < reply.childNodes.length; l++) { + var id = reply.childNodes[l].getAttribute("id"); + var ctr = reply.childNodes[l].getAttribute("counter"); + + var feedctr = f_document.getElementById("FEEDCTR-" + id); + var feedu = f_document.getElementById("FEEDU-" + id); + var feedr = f_document.getElementById("FEEDR-" + id); + + if (feedctr && feedu && feedr) { + + feedu.innerHTML = ctr; + + if (ctr > 0) { + feedctr.className = "odd"; + if (!feedr.className.match("Unread")) { + var is_selected = feedr.className.match("Selected"); + + feedr.className = feedr.className.replace("Selected", ""); + feedr.className = feedr.className.replace("Unread", ""); + + feedr.className = feedr.className + "Unread"; + + if (is_selected) { + feedr.className = feedr.className + "Selected"; + } - if (ctr > 0) { - feedctr.className = "odd"; - if (!feedr.className.match("Unread")) { - var is_selected = feedr.className.match("Selected"); - - feedr.className = feedr.className.replace("Selected", ""); - feedr.className = feedr.className.replace("Unread", ""); - - feedr.className = feedr.className + "Unread"; - - if (is_selected) { - feedr.className = feedr.className + "Selected"; } - - } - } else { - feedctr.className = "invisible"; - feedr.className = feedr.className.replace("Unread", ""); - } + } else { + feedctr.className = "invisible"; + feedr.className = feedr.className.replace("Unread", ""); + } + } } + } catch (e) { + exception_error("all_counters_callback", e); } } } @@ -506,4 +514,3 @@ function getSelectedTableRowIds(content_id, prefix) { } - -- cgit v1.2.3