Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: Thomas 'PointedEars' Lahn Newsgroups: comp.lang.javascript Subject: Re: Nested try catch Date: Mon, 21 Jul 2014 03:58:24 +0200 Organization: PointedEars Software (PES) Lines: 50 Message-ID: <2060326.l3rICqCpkh@PointedEars.de> References: <7rSdna_x9Z-mw1HOnZ2dnUVZ_vWdnZ2d@westnet.com.au> Reply-To: Thomas 'PointedEars' Lahn Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8Bit X-Trace: solani.org 1405907906 5881 eJwFwYEBwCAIA7CXCoU6zxkK/59gkpTprFAqcnL6bN41cqvipjXdbfBBcjLs2j+XUKIbqHkOhhCF (21 Jul 2014 01:58:26 GMT) X-Complaints-To: abuse@news.solani.org NNTP-Posting-Date: Mon, 21 Jul 2014 01:58:26 +0000 (UTC) User-Agent: KNode/4.12.4 X-User-ID: eJwNxMkBwCAIBMCWIByr5Swo/Zdg5jFhqdnwjPSYGHBgOPdb5+5oqbsZOr7Y6fYnEMbmcaKqelhilQoVV6c+cSkWBw== Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEXTxa4RFk5dUWANED8PFEfy7+MGBiW+n3ZNF/QuAAACaElEQVQ4jVXUwVOcMBQG8Dc7Rc4PUntdWV2uxjDpGaGeozOp1woar4jd5t/v9wLstMwsA/ntlxdCAgUc1hjTc9/JCZfGoo3wG3HdmdAWrIJRHe7GM/TmpY5VFefuVcAkkPbLIaN8rmPmjloyZxgyR3GuJ4K0AGtJ2htz8o7yqikm759fldQXaMpbDzjKAG+8v+AugVTOPO5DOjLvGtUYQwh0CPjnVMyGd+8/GfUB5nLKJDD2aLDh5HYyMDJGDwQIo2ZmZcKbowNmAdB/AzyFhrmF2MHRb0QJJfaAnwGB6orZhoykLzJtGwF/xpYxI1dswomiUj3gTuAIqCn/4C7cULwGNBtwMTk3Y4LfKB5YUaOKBKYtpplm7u0vip8tU1NWWyI/7XdcSuIDoMt6rVHMWT0DbjHPGqDqZVSa6zleLcUTcIKLoMv3ueJluALtAo9B302zPPlrtiVScRdCjXvVh3e3JpYa/jjkuC9N+LrBMlz/eAN4eQijX2EdLo6c5tGGHwLyHFtXk89dDGHwCVhG9T0S/j55AhRZgkMCmUQXJ49TnS1wnQDvw0eAh9ICeMmEFbCnPMFzjAvsWoEWEFdYEx+S0MoUZ1gT1wId8+AF3Bl2OoEu906AUHx5VLw/gXYg/x84loOah/2UYNrgiwSwGO7RfUzVBbx/kgpckumGOi6QirtD6gkLTitbnxNol47S2jVc2vsN5kPqaAHT8uUdAJM4v/DanjYOwmUjWznGfwB7sGtAtor5BgofDuzaRj4kSQAqDakTsKORa3Q3xKi3gE1fhl71KRMqrdZ2AWNNg/YOhQyrVBnb+i+nEg4bsDA+egAAAABJRU5ErkJggg== X-Face: %i>XG-yXR'\"2P/C_aO%~;2o~?g0pPKmbOw^=NT`tprDEf++D.m7"}HW6.#=U:?2GGctkL,f89@H46O$ASoW&?s}.k+&. If I have this > > try { > // blah > } catch(e) { > try { > // blah 2 > } catch(e) {} > } > > jslint.com says "'e' is already defined" - fair enough. But if I change > it to > > try { > // blah > } catch(e) { > try { > // blah 2 > } catch(e2) {} > } > > jslint.com says "Expected 'ignore' and instead saw 'e2'". > > Is 'ignore' just a variable name that jslint.com prefers? Given that jslint.com reports identifiers that are clearly block-scoped per Specification as global variables, I would not put too much weight on what jslint.com has to say. This is just one of jslint.com’s many idiosyncrasies imposing Douglas Crockford’s defective perception of ECMAScript and its implementations on developers: If the “catch” block is empty (not considering comments), he/it expects the identifier for the exception value to be “ignore”, and anything else is considered an error; otherwise the identifier “ignore” is considered an error. ISTM that jslint.com checks grow more rediculous by the year. Perhaps Douglas Crockford cares to explain what is so bad about block code indented with two spaces instead of four? I would not mind making additional checks optional, but to make them the default is highly presumptuous of him. My advice: Just ignore the new Crockford, his books, and jslint.com. -- PointedEars FAQ: | SVN: Twitter: @PointedEars2 | ES Matrix: Please do not Cc: me. / Bitte keine Kopien per E-Mail.