Java Java Objects Harnessing the Power of Objects Throwing Exceptions

Clara Israel
Clara Israel
195 Points

How should I change the lapsDriven and barCount after throwing the exception?

In the Drive method

GoKart.java
class GoKart {
  public static final int MAX_BARS = 8;
  private String color;
  private int barCount;
  private int lapsDriven;

  public GoKart(String color) {
    this.color = color;
  }

  public String getColor() {
    return color;
  }
  public void charge() {
    barCount = MAX_BARS;
  }

  public boolean isBatteryEmpty() {
    return barCount == 0;
  }

  public boolean isFullyCharged() {
    return MAX_BARS == barCount;
  }

  public void drive() {
    drive(1);
  }

  public void drive(int laps) {
    lapsDriven += laps;
    barCount -= laps;
   if (barCount <0) {
        throw new IllegalArgumentException ("no battery remaining");
    }
    barCount=MAX_BARS;
    lapsDriven =laps;
  }
}