回答編集履歴

1

refinement

2020/07/30 06:09

投稿

yohhoy
yohhoy

スコア6191

test CHANGED
@@ -6,9 +6,9 @@
6
6
 
7
7
 
8
8
 
9
- - [A] プログラマのコード実装誤り: ヌルポインタ参照はがし、配列範囲外アクセス、未初期化変数からの読取りなど
9
+ - [A] プログラマのコード実装誤り: ヌルポインタ参照はがし、配列範囲外アクセス、未初期化変数からの読取りなど
10
10
 
11
- - [B] プログラム実行時の外部環境: ファイルが存しない、ネットワーク不達、ディスクFULLでファイル書き込めない、メモリ不足など
11
+ - [B] プログラム実行時の外部環境: ファイル在、ネットワーク不達、ディスクFULLでファイル書き込めない、メモリ不足など
12
12
 
13
13
 
14
14
 
@@ -26,9 +26,9 @@
26
26
 
27
27
 
28
28
 
29
- むしろプログラミング言語C++に限れば、[A] に対する例外機構はほとんど期待できません。例:ヌルポインタ参照はがしはC++例外機構を用いても検知できません。
29
+ むしろプログラミング言語C++に限れば、[A] に対する例外機構はほとんど期待できません。例:ヌルポインタ参照はがしはC++例外機構を用いても検知できません。運が良ければ該当箇所でプログラム異常停止、運が悪いとランダムにデータ破損したり一見無関係な箇所でプログラム異常停止します。
30
30
 
31
- 他のプログラミング言語(例えばJavaやC#)ではヌルポインタ/参照はがしのようなロジックエラーでも、各言語における例外機構によって検知可能です。
31
+ 他のプログラミング言語(例えばJavaやC#)ではヌルポインタ/参照はがしのようなロジックエラーでも、各言語における例外機構によって検知可能です([`NullPointerException`](https://docs.oracle.com/javase/jp/8/docs/api/java/lang/NullPointerException.html)や [`NullReferenceException `](https://docs.microsoft.com/ja-jp/dotnet/api/system.nullreferenceexception))
32
32
 
33
33
 
34
34
 
@@ -42,15 +42,15 @@
42
42
 
43
43
 
44
44
 
45
- プログラミング言語Cには例外機構が存在しないため、例外処理(エラーハンドリング)は「特殊な戻り値 や エラー番号」を用いて実現されます。
45
+ プログラミング言語Cには例外機構が存在しないため、例外処理(エラーハンドリング)は「特殊な戻り値 や エラーコード」を用いて実現されます。
46
46
 
47
- 例:`fopen`でファイルオープンに失敗すると関数は値`NULL`を返し、エラー原因を表すコードを`error`に格納する。
47
+ 例:`fopen`でファイルオープンに失敗すると関数は値`NULL`を返し、エラー原因を表すコードを[`errno`変数](https://cpprefjp.github.io/reference/cerrno/errno.html)に格納する。
48
48
 
49
49
 
50
50
 
51
- プログラミング言語C++の場合、ほとんどの標準ライブラリ機能は例外機構の存在を前提に設計・提供されます。
51
+ プログラミング言語C++の場合、ほとんどの標準ライブラリ機能は例外機構の存在を前提に設計・提供されます。サードパーティー製ライブラリでも、多くは標準ライブラリに準じた設計が行われます。
52
52
 
53
- 例:`new MyClass()`でメモリ確保に失敗すると、`std::bad_alloc`例外を送出する。
53
+ 例:`new MyClass()`でメモリ確保に失敗すると、[`std::bad_alloc`例外](https://cpprefjp.github.io/reference/new/bad_alloc.html)を送出する。
54
54
 
55
55
 
56
56