回答編集履歴

1

補足追記

2021/06/28 15:04

投稿

Y.H.
Y.H.

スコア7918

test CHANGED
@@ -15,3 +15,47 @@
15
15
  [(docs.microsoft.com)未処理の C++ 例外](https://docs.microsoft.com/ja-jp/cpp/cpp/unhandled-cpp-exceptions)
16
16
 
17
17
  > 現在の例外に一致するハンドラー (または省略記号ハンドラー) が見つからない場合は、 catch 定義済みの terminate ランタイム関数が呼び出されます。
18
+
19
+
20
+
21
+ ---
22
+
23
+ 補足追記です。
24
+
25
+
26
+
27
+ > ちなみに、プロジェクトをBuildして作成されるsection26.exeを直接実行すると、エラーは発生せず、
28
+
29
+ std::cout << i;
30
+
31
+ も実行されていないため、意図通り動作しているようではあります。
32
+
33
+
34
+
35
+ 正確には意図通り動作していません。
36
+
37
+ 以下のように、try{}catch(){}の後に処理があった場合terminate function内でabortするため、その処理は行われません。
38
+
39
+ ```C++
40
+
41
+ // ・・・略・・・
42
+
43
+ try {
44
+
45
+ throw input;
46
+
47
+ }
48
+
49
+ catch(double &i){
50
+
51
+ std::cout << i;
52
+
53
+ }
54
+
55
+
56
+
57
+ std::cout << "Finish.";
58
+
59
+ }
60
+
61
+ ```