- ベストアンサー
Java throwとthrowsの違いについて
Java throwとthrowsの違いについて sjc-pに向けて今更ですが、全ての予約語とその意味を理解しようとしています。 ネット・参考書で調べてみましたがいまいち違いがピンと来ない為、どなたか簡単な例で説明して頂けないでしょうか? よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
throwは、例外クラスのオブジェクト生成し、 メソッド呼び出し元へ通知(投げる)こと。 throwsは、メソッド呼び出し元へ通知(投げる)ことが ありえる例外クラスを宣言すること。
その他の回答 (1)
- Yanch
- ベストアンサー率50% (114/225)
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; } } 使用する場所も、意味も違うみたいですね。
お礼
すみません、間違えて補足の方に記述してしまいました・・・。
補足
有難う御座います。 使用する場所の違いはわかっているのですが、意味がわからなくて・・・。 No2さんの説明と照らし合わせ、なんとなくですが理解できたと思います。
お礼
有難う御座います。 No1さんのソースと照らし合わせ、何となく理解できたと思います。