回答編集履歴
2
誤記の修正等
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
例外処理のないC言語では、呼び出し先でエラーが発生した場合に予期せぬ動作を起こす可能性があります。
|
2
|
-
それを防ぐ
|
2
|
+
それを防ぐために可能な限りエラーチェックをした上で関数呼び出しを行うということは不測の事態に備えるためには有効なアプローチかと思います。
|
3
3
|
なので、基本的には1.の方の対処とした方がよいかと思います。
|
4
4
|
|
5
5
|
引数にnullを渡すと落ちる関数があるとして、nullで落ちるのが悪いのか、nullを渡すのが悪いのかというところです。
|
@@ -7,6 +7,7 @@
|
|
7
7
|
関数xはあれもこれも全部をお世話してあげられるわけでもありません。
|
8
8
|
もちろん、関数xはそのような制約があることを説明すべきだとも思います。
|
9
9
|
|
10
|
+
ただし、すべてのエラーの可能性を事前にチェックできるかというと、それも困難です。
|
10
|
-
それでもエラーが起きるような場合にどのように対処するかといった話は、下記のページ等が参考になるかと思います。
|
11
|
+
十分チェックしていても、それでもエラーが起きるような場合にどのように対処するかといった話は、下記のページ等が参考になるかと思います。
|
11
12
|
|
12
13
|
[IPA ISEC セキュア・プログラミング講座:C/C++言語編 第6章 フェイルセーフ:体系だてたエラーハンドリング](https://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/c502.html)
|
1
追記
answer
CHANGED
@@ -5,6 +5,7 @@
|
|
5
5
|
引数にnullを渡すと落ちる関数があるとして、nullで落ちるのが悪いのか、nullを渡すのが悪いのかというところです。
|
6
6
|
これはたとえ例外処理を実装した言語であったとしても、どちらかといえば呼び出し元がきちんと対応すべきものだと思います。
|
7
7
|
関数xはあれもこれも全部をお世話してあげられるわけでもありません。
|
8
|
+
もちろん、関数xはそのような制約があることを説明すべきだとも思います。
|
8
9
|
|
9
10
|
それでもエラーが起きるような場合にどのように対処するかといった話は、下記のページ等が参考になるかと思います。
|
10
11
|
|