回答編集履歴

1

英文法上の解釈

2017/03/28 14:57

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -1,3 +1,43 @@
1
1
  throw: メソッドの**中**で、例外を投げる命令キーワード
2
2
 
3
+ ```java
4
+
5
+ public void method() {
6
+
7
+ try {
8
+
9
+ // 例外を"投げろ"
10
+
11
+ throw new Exception();
12
+
13
+ } catch (Exception e) {
14
+
15
+ e.printStackTrace();
16
+
17
+ }
18
+
19
+ }
20
+
21
+ ```
22
+
23
+
24
+
3
25
  throws: メソッドの**宣言**で、この例外を投げる可能性があるという宣言
26
+
27
+ ```Java
28
+
29
+ //英語として解釈するなら、throwsの前の関係代名詞whichが省略されているとみて、
30
+
31
+ //Exceptionを"投げる"method
32
+
33
+ public void method() throws Exception {
34
+
35
+ throw new Exception();
36
+
37
+ }
38
+
39
+ ```
40
+
41
+
42
+
43
+ throws宣言によりcatchすべき検査例外が呼び出し側からわかるため、そのようなメソッドはtry-catchで囲まなければコンパイルエラーになる