Bike.Parser.Parser.ParseTryStatement C# (CSharp) Метод

ParseTryStatement() публичный Метод

public ParseTryStatement ( ) : TryStatement
Результат TryStatement
        public TryStatement ParseTryStatement()
        {
            var tryStatement = new TryStatement { Token = Next() };
            Match(TokenType.Try);
            tryStatement.Body = ParseStatementBlock();
            if (Next().IsNot(TokenType.Rescue) && Next().IsNot(TokenType.Finally))
                throw Error("Missing rescue or finally", Next());

            if (Next().Is(TokenType.Rescue))
            {
                var rescueClause = new RescueClause { Token = Next() };
                Match(TokenType.Rescue);
                if (!Next().Is(TokenType.LeftBrace))
                {
                    rescueClause.Identifier = ParseIdentifier();
                }
                rescueClause.StatementBlock = ParseStatementBlock();
                tryStatement.Rescue = rescueClause;
            }
            if (Next().Is(TokenType.Finally))
            {
                Match(TokenType.Finally);
                tryStatement.Finally = ParseStatementBlock();
            }
            return tryStatement;
        }