• ベストアンサー

Java throwとthrowsの違いについて

Java throwとthrowsの違いについて sjc-pに向けて今更ですが、全ての予約語とその意味を理解しようとしています。 ネット・参考書で調べてみましたがいまいち違いがピンと来ない為、どなたか簡単な例で説明して頂けないでしょうか? よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Hardking
  • ベストアンサー率45% (73/160)
回答No.2

throwは、例外クラスのオブジェクト生成し、 メソッド呼び出し元へ通知(投げる)こと。 throwsは、メソッド呼び出し元へ通知(投げる)ことが ありえる例外クラスを宣言すること。

akito0417
質問者

お礼

有難う御座います。 No1さんのソースと照らし合わせ、何となく理解できたと思います。

その他の回答 (1)

  • Yanch
  • ベストアンサー率50% (114/225)
回答No.1

public class Sample {   public static void main(String[] args) {     new ThrowSample().exec();          try {       new ThrowsSample().exec();     } catch (Throwable t) {       System.err.println(t.toString());     }   } } /* throw の例 */ class ThrowSample {   public void exec() {     try {       throw new Exception("hogehoge");     } catch (Throwable t) {       System.err.println(t.toString());     }   } } /* throws の例 */ class ThrowsSample {   public void exec() throws Error, Exception {     int i = 10 / 0;   } } 使用する場所も、意味も違うみたいですね。

akito0417
質問者

お礼

すみません、間違えて補足の方に記述してしまいました・・・。

akito0417
質問者

補足

有難う御座います。 使用する場所の違いはわかっているのですが、意味がわからなくて・・・。 No2さんの説明と照らし合わせ、なんとなくですが理解できたと思います。

関連するQ&A