示例#1
0
        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);
        }