private int playSecondThrow(Player player, PlayerFrameHistory frame, int previousThrowScore) {
        int maxPossibleScore = 10-previousThrowScore;

        int score = -1;
        do {
            System.out.print("How much did you score, " + player.getName() + "?  (Type 'exit' to interrupt the game)");
            String input = scanner.nextLine();
            if (input.equalsIgnoreCase("exit")) {
                interrupted = true;
                return 0;
            }
            try {
                score = Integer.parseInt(input);
                if (score < 0 || score > maxPossibleScore) {
                    throw new NumberFormatException();
                }
            } catch (NumberFormatException nfe) {
                System.err.println("Incorrect input! Please specify correct score (0-"+maxPossibleScore+").");
            }
        } while (score < 0 || score > maxPossibleScore);

        frame.addThrow(new Throw(score));

        if (score + previousThrowScore == 10) {
            System.out.println("You got a Spare! Well done!");
        }

        return score;
    }