0

私は次のコードを持っています:

class ClassDetails {
  private String current_class;
  public ClassDetails(String current_class) {
    this.current_class = current_class;
  }
  public void getClassDetails() throws ClassNotFoundException {
    try {
        Class theClass = Class.forName(current_class);
        String name = theClass.getName() ;
        System.out.println(name);
    } catch (ClassNotFoundException e) {
        System.out.println(e.getMessage());
    }
  }
}

class MMain {
  public static void main(String[] args) {
      ClassDetails C = new ClassDetails(args[0]);
      C.getClassDetails();
  }
}

そして、私はメインでこのエラーがあります:

Unhandled exception type ClassNotFoundException

どうすればこれを解決できますか?

4

1 に答える 1

2

シグネチャが示すように、メソッドはその例外をスローするmainメソッドを呼び出します。getClassDetails()

public void getClassDetails() throws ClassNotFoundException

そして、あなたはそれを捕まえたり、メソッドに投げ込んだりしていないので、コードはコンパイルされません。したがって、次のいずれかを行う必要があります。

public static void main(String[] args) throws ClassNotFoundException {
    ClassDetails C = new ClassDetails(args[0]);
    C.getClassDetails();
}

または:

public static void main(String[] args) {
    ClassDetails C = new ClassDetails(args[0]);
      try
      {
          C.getClassDetails();
      }
      catch(ClassNotFoundException ex)
      {
          //Add exception handling here
      }
}
于 2013-03-24T13:05:08.317 に答える