回答編集履歴

1

追加

2020/07/30 04:26

投稿

ozwk
ozwk

スコア13528

test CHANGED
@@ -4,8 +4,76 @@
4
4
 
5
5
  そういう言語で例えば、
6
6
 
7
- 「処理A,B,C,Dを順番に行う、ただし各処理が失敗した時点で以降の処理は実行しない
7
+ 「処理A,B,C,Dを順番に行う、ただし各処理が失敗した時点で以降の処理は実行せず代わりにEを行う
8
8
 
9
- という処理を書こうとしたらif文が4つ並んでしまいますが、
9
+ という処理を書こうとしたらif文が4つ並んでしまいます;
10
10
 
11
+ ```
12
+
13
+ if(!A()){
14
+
15
+ E();
16
+
17
+ return;
18
+
19
+ }
20
+
21
+
22
+
23
+ if(!B()){
24
+
25
+ E();
26
+
27
+ return;
28
+
29
+ }
30
+
31
+
32
+
33
+ if(!C()){
34
+
35
+ E();
36
+
37
+ return;
38
+
39
+ }
40
+
41
+
42
+
43
+ if(!D()){
44
+
45
+ E();
46
+
47
+ return;
48
+
49
+ }
50
+
51
+ ```
52
+
53
+
54
+
55
+ 他にも色々書き方はあるでしょうが、少なくとも「A,B,C,Dの順番で実行する」という本題からかなり余計なコードが増えることでしょう。
56
+
57
+
58
+
11
- 例外機構があればtry-catchですっきり書けます
59
+ これが例外機構があればtry-catchですっきり書けます
60
+
61
+ ```
62
+
63
+ try {
64
+
65
+ A();
66
+
67
+ B();
68
+
69
+ C();
70
+
71
+ D();
72
+
73
+ } catch {
74
+
75
+ E();
76
+
77
+ }
78
+
79
+ ```