diff --git a/lib/6to5/generation/generators/statements.js b/lib/6to5/generation/generators/statements.js index 613fdcf630..f3a6babeab 100644 --- a/lib/6to5/generation/generators/statements.js +++ b/lib/6to5/generation/generators/statements.js @@ -107,7 +107,16 @@ exports.TryStatement = function (node, print) { this.keyword("try"); print(node.block); this.space(); - print(node.handler); + + // Esprima bug puts the catch clause in a `handlers` array. + // see https://code.google.com/p/esprima/issues/detail?id=433 + // We run into this from regenerator generated ast. + if (node.handlers) { + print(node.handlers[0]); + } else { + print(node.handler); + } + if (node.finalizer) { this.space(); this.push("finally ");