トップページ > 過去ログ > 記事閲覧
関数の戻り値によるエラーチェックについて
名前:びいかめ 日時: 2010/09/23 07:01

本ライブラリでは、関数の返り値が-1かどうかを調べることでエラーかどうかを判断すると認識しています その場合、BOOL値(TRUEまたはFALSE)や浮動小数点数(floatまたはdouble)を返す関数でも-1かどうかのチェックは必要ですか? また、構造体のような-1を返せない関数はエラーチェックが必要ない(エラーは起きない)という認識であっていますか?

Page: 1 |

Re: 関数の戻り値によるエラーチェックについて ( No.1 )
名前:管理人 日時:2010/09/25 20:34

戻り値の型が BOOL なのに戻り値は -1 や 0 である関数は int 型に修正しておきました 浮動小数点型を返す関数でも MV1GetMeshOpacityRate の様にエラーが発生する可能性の ある関数ではエラーが発生した場合は -1.0f が返るようになっています 戻り値が構造体の場合はエラーが発生したかどうか判断しなくて良いものが殆どですが MV1CollCheck_LineDim の様にエラーが発生する可能性のある関数では、戻り値の構造体 MV1_COLL_RESULT_POLY_DIM のメンバ変数ポインタ Dim が NULL かどうかでエラーが 発生したかどうかを判断できる、というように何かしら確認する方法はあります
Re: 関数の戻り値によるエラーチェックについて ( No.2 )
名前:びいかめ 日時:2010/09/25 23:16

整数値にせよ浮動小数点数値にせよ、-1を含む負の値を正常系として返す関数もあるとおもいます そこで、各関数において、-1を返した場合が正常系か異常系かを判断する方法はありますか? それとも各関数のソースを読むしかありませんか?
Re: 関数の戻り値によるエラーチェックについて ( No.3 )
名前:管理人 日時:2010/09/26 02:06

> それとも各関数のソースを読むしかありませんか? はい、大抵の場合は負の値がエラーとなっていますが、 リファレンスに載っておらず、関数の注釈にも戻り値について言及されていない関数の正確な戻り値は ソースを読んで確認していただくしかありません

Page: 1 |