So, I'm building this little guessing game and I recently added a try/catch to stop the console from crashing if the user inputted a wrong character (besides numbers of course). Right now it works well but it restarts the entire game, I've tried to just have the catch re-run the script starting at the "for" loop, but it breaks and the random number originally generated doesn't match.

```
 public static void StartGame()
    {

        Console.Clear();
        Random ran = new Random();
        decimal returnValue = (ran.Next(1, 100));

        Console.WriteLine("Welcome to my guessing game. I'm thinking of a number between 1 and 100, can you guess it?");
        Console.WriteLine("Hint: 'Way too off' means you're greater than 25 from the answer!");
        try
        {

        for (int guessnumber = 1; guessnumber < 6; guessnumber++)
        {
            var Guess = Convert.ToInt32(Console.ReadLine());
            //The Guess variable is simply whatever the user inputs, which is read and used by the for loop each time it is inputed.
            if (Guess == returnValue)
            {
                Console.WriteLine("Well done!");
                Console.ReadKey();
                Game.NewGame();
            }
            else if (Guess < returnValue)
            {

                Console.WriteLine("Guess higher!");

            }
            else if (Guess > returnValue)
            {

                Console.WriteLine("Guess lower!");

            }

            if (guessnumber == 5)
            {
                Console.WriteLine($"The correct answer was {returnValue}");
                Console.ReadKey();
                Game.NewGame();
                //This if statement activates when the "guessnumber" counter has reached 5, in which case it will tell the user the correct answer, and end with a return statement.
            }
            //result is the absolute value of 
            decimal result = Math.Abs(returnValue - Guess);

            if (result > 25)
                Console.WriteLine("Way too off!");

            if (result < 5)
            {
                Console.WriteLine("Very close!!");
            }
            if (result < 2)
            {
                Console.WriteLine("RED HOT!!!");
            }
        }
        }
        catch (System.FormatException)
        {
            Console.WriteLine("Incorrect character inputted, restarting game. . .");
            System.Threading.Thread.Sleep(2000);
            StartGame();

        }

    }
    public static void NewGame()
    {
        Console.Clear();
        string input = " ";
        Console.WriteLine("Game over, would you like to play again? Y/N");
        input = Console.ReadLine();
        input = input.ToUpper();
        if (input == "Y")
        {
            Console.WriteLine("Ok! Re-Initializing game...");

            StartGame();
        }
        else
        {
            System.Environment.Exit(0);
        }

    }

}

```

}