Catch parser exception in the correct scope

catch_parser_exception
Sandro Santilli 12 years ago
parent 381806c7c7
commit 6a040acd07

@ -29,6 +29,7 @@ carto.Renderer.prototype.render = function render(m, callback) {
var output = [];
// Transform stylesheets into rulesets.
try { // Parser may throw
var rulesets = _(m.Stylesheet).chain()
.map(function(s) {
// Passing the environment from stylesheet to stylesheet,
@ -36,15 +37,14 @@ carto.Renderer.prototype.render = function render(m, callback) {
env = _(env).extend({filename:s.id});
var time = +new Date();
// Parser may throw
try { root = (carto.Parser(env)).parse(s.data); }
catch (err) { callback(err, null); return; }
root = (carto.Parser(env)).parse(s.data);
if (env.benchmark)
console.warn('Parsing time: ' + (new Date() - time) + 'ms');
return root.toList(env);
})
.flatten()
.value();
} catch (err) { callback(err, null); return; }
// Iterate through layers and create styles custom-built
// for each of them, and apply those styles to the layers.

Loading…
Cancel
Save