1

クラスの宣言で例外をスローしようとしています。このようなもの:

class myClass throws A_Dangerous_Exception implements Something_to_Implement {

...

}

助言がありますか?

4

2 に答える 2

4

そんなことはできません。おそらく、クラスのコンストラクターから例外をスローするつもりです。

class myClass implements Something_to_Implement {
  myClass() throws A_Dangerous_Exception {}
}

複数のコンストラクターがある場合、必要に応じてそれぞれに異なるthrows句を指定できます。

class myClass implements Something_to_Implement {
  myClass() throws A_Dangerous_Exception {}
  myClass(int a) throws A_Dangerous_Exception, A_Not_So_Dangerous_Exception {}
}

次に、そのクラスをインスタンス化するたびに、例外をキャッチするかthrows、クラスをインスタンス化するメソッドの句で宣言することにより、例外に対処する必要があります。

void myMethod() {
  try {
    new myClass();
  } catch (A_Dangerous_Exception e) {}
}

また

void myMethod() throws A_Dangerous_Exception {
  new myClass();
}
于 2013-04-06T02:22:03.987 に答える
2

できません。例外は、メソッドまたはコンストラクターからのみスローできます。あなたはこれを行うことができます:

class myClass implements Something_to_Implement {

   public myClass() throws A_Dangerous_Exception {
      ...
   }
}

FileOutputStreamコンストラクターから例外をスローする前などに、リソースを整理するように注意してください。

読む:例外

于 2013-04-06T02:21:06.950 に答える