Compare commits

...

2 Commits

Author SHA1 Message Date
Sandro Santilli
6a040acd07 Catch parser exception in the correct scope 2012-09-26 15:51:05 +02:00
Sandro Santilli
381806c7c7 Catch parser exceptions (it does throw!) 2012-09-26 13:02:46 +02:00

View File

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