UNPKG

jintr

Version:

A tiny JavaScript interpreter written in TypeScript.

20 lines (19 loc) 629 B
import BaseJSNode from './BaseJSNode.js'; export default class TryStatement extends BaseJSNode { run() { try { return this.visitor.visitNode(this.node.block); } catch (e) { if (this.node.handler) { if (this.node.handler.param && this.node.handler.param.type === 'Identifier') { this.visitor.scope.set(this.node.handler.param.name, e); } return this.visitor.visitNode(this.node.handler.body); } } finally { this.visitor.visitNode(this.node.finalizer); } } }