Java Java Objects Harnessing the Power of Objects Handling Exceptions

jaronce dutil
jaronce dutil
4,362 Points

goKart Exception with try/catch error

Not sure what is missing in my code

Example.java
class Example {

  public static void main(String[] args) {
    GoKart kart = new GoKart("purple");
    if (kart.isBatteryEmpty()) {
      System.out.println("The battery is empty");
    }
  }  
  try {
    kart.drive(42);
  } catch (IllegalArgumentException iae) {
    System.out.println(iae.getMessage());
    }

}
GoKart.java
class GoKart {
  public static final int MAX_BARS = 8;
  private int barCount;
  private String color;
  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) {
    if (laps > barCount) {
      throw new IllegalArgumentException("Not enough battery remains");
    }
    lapsDriven += laps;
    barCount -= laps;
  }

}

2 Answers

Tabatha Trahan
Tabatha Trahan
18,068 Points

What type of error do you get if you click on the Preview button? You could be missing a closing curly brace in your Example.java file. I can see the closing brace for the class, but I don't see one for the main method. If that doesn't fix it, take a look at what error it is throwing by clicking on Preview and let us know what you get.

The exact same happened to me. "Bummer: Make sure you've placed a try block around the kart.drive method call to capture the exception"

I got this message