public Node parseTryStatement(Node node) { Node block; Node handler = null, finalizer = null; expectKeyword("try"); block = parseBlock(); if (matchKeyword("catch")) { handler = parseCatchClause(); } if (matchKeyword("finally")) { lex(); finalizer = parseBlock(); } if (handler == null && finalizer == null) { throwError(Messages.NoCatchOrFinally); } return node.finishTryStatement(block, handler, finalizer); }