www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit 63f1dd163de0ccd9c21af4f1efc54d9d447a0c94
parent 5f66482537d2e5bfce451f71fae138b3302fb6c3
Author: aurimasv <aurimas.dev@gmail.com>
Date:   Sun, 25 Nov 2012 05:05:52 -0600

Make varDump more resilient to property access errors

Diffstat:
Mchrome/content/zotero/xpcom/utilities.js | 21+++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/chrome/content/zotero/xpcom/utilities.js b/chrome/content/zotero/xpcom/utilities.js @@ -1092,11 +1092,11 @@ Zotero.Utilities = { */ "varDump":function(arr,level,maxLevel,parentObjects,path) { var dumped_text = ""; - if (!level){ + if (level === undefined){ level = 0; } - if (!maxLevel) { + if (maxLevel === undefined) { maxLevel = 4; } @@ -1119,7 +1119,12 @@ Zotero.Utilities = { } for (var item in arr) { - var value = arr[item]; + try { + var value = arr[item]; + } catch(e) { + dumped_text += level_padding + "'" + item + "' => <<Access Denied>>\n"; + continue; + } if (typeof(value) == 'object') { // If it is an array //check for recursion @@ -1139,9 +1144,13 @@ Zotero.Utilities = { dumped_text += level_padding + "'" + item + "' => " + openBrace; //only recurse if there's anything in the object, purely cosmetical - for(var i in value) { - dumped_text += "\n" + Zotero.Utilities.varDump(value,level+1,maxLevel,parentObjects.concat([value]),path.concat([item])) + level_padding; - break; + try { + for(var i in value) { + dumped_text += "\n" + Zotero.Utilities.varDump(value,level+1,maxLevel,parentObjects.concat([value]),path.concat([item])) + level_padding; + break; + } + } catch(e) { + dumped_text += "<<Error processing object:\n" + e + ">>\n"; } dumped_text += closeBrace + "\n"; }