回答編集履歴
1
修正
test
CHANGED
@@ -6,21 +6,33 @@
|
|
6
6
|
|
7
7
|
begin
|
8
8
|
|
9
|
-
|
9
|
+
raise ArgumentError, "ハローワールド"
|
10
10
|
|
11
11
|
rescue => e
|
12
12
|
|
13
|
-
case e.class
|
13
|
+
e_class_name = e.class
|
14
14
|
|
15
|
-
|
15
|
+
|
16
16
|
|
17
|
+
word =
|
18
|
+
|
19
|
+
if e_class_name == ZeroDivisionError
|
20
|
+
|
17
|
-
|
21
|
+
"不正な計算です。"
|
22
|
+
|
23
|
+
elsif e_class_name == ArgumentError
|
24
|
+
|
25
|
+
e.message
|
18
26
|
|
19
27
|
else
|
20
28
|
|
21
|
-
|
29
|
+
"よく分からないエラーです。"
|
22
30
|
|
23
31
|
end
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
puts word
|
24
36
|
|
25
37
|
end
|
26
38
|
|
@@ -30,4 +42,18 @@
|
|
30
42
|
|
31
43
|
参考
|
32
44
|
|
45
|
+
[rubyの例外についてまとめてみた](http://qiita.com/kasei-san/items/75ad2bb384fdb7e05941)
|
46
|
+
|
33
47
|
[Rubyの例外処理(begin - rescueとraise)をもう一度きちんと確認してみた。](http://qiita.com/murata0705/items/6ae346bd04197fb2e36a)
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
エラーのクラスを見てwhenで処理を分岐させるという方法を考えました。
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
追記
|
56
|
+
|
57
|
+
whenではうまくいかなかったのでifで分岐させることにしました。
|
58
|
+
|
59
|
+
|