Java Java Objects Harnessing the Power of Objects Handling Exceptions

shiny peanut
shiny peanut
4,717 Points

Basic Exception Handling

I do not know what this compiler error means; it would seem to imply that I don't have a try or catch, but I do.

I asked my friend about this and he said that I put the catch in the try block, but that doesn't mean much when I don't understand the exact function of both blocks. Based on that, I would remove the println from the try block, but then what? Do you necessarily have to have much of anything in the try block?
class Example {

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

    catch (IllegalArgumentException iae) {
      System.out.println("Not enough battery remains!);};

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() {

  public void drive(int laps) {
    if (laps > barCount) {
      throw new IllegalArgumentException("Not enough battery remains");
    lapsDriven += laps;
    barCount -= laps;


1 Answer

first, you are missing a double-quote on the system.out.println() text on line 12 and the catch is supposed to directly in front of the try code block