function hello(arg) { this.arg=arg; this.act = { main : function () { log('Hello',this.arg); }, more : function () { log('World'); // throw error function foo() { return {}.x() } // try { foo() } catch (e) { log(e.toString()) } foo() }, end : function () { log('Terminate'); } } this.trans = { main : more, more : end } this.on = { // w/o handler agent will be terminated on error error : function (err) { log('error',err,this.next) } } this.next='main'; } compile(hello,{verbose:1}); create('hello','You') start()