本ライブラリでは、以下の3通りの方法でエラーを通知します。
- 戻り値(bool型)による通知:
- クラスのメソッドは殆どの場合、bool型でエラーを通知します。 エラーの詳細は、メンバ変数の m_ErrorCode に保管します。 ユーザは、 GetErrorCode を使用して取得してください。
{
switch( iErrCode )
{
_tprintf( _T("画像オブジェクトが設定されていません。\n") );
break;
_tprintf( _T("入力画像の画像種別が不正です。\n") );
break;
_tprintf( _T("出力画像の画像種別が不正です。\n") );
break;
_tprintf( _T("入出力画像のチャネル数が一致していません。\n") );
break;
_tprintf( _T("入出力画像の処理範囲が一致していません。\n") );
break;
}
}
- 戻り値(INT型)による通知:
- グローバルまたは各ネームスペースの関数は、殆どの場合、戻り値を介してエラーを通知します。 ユーザは下記の例のように関数が返す戻り値と FVCL_ErrorCode に定義された定数を比較して正常性を検査してください。
switch( iErrCode )
{
_tprintf( _T("正常に終了しました。\n") );
break;
_tprintf( _T("パラメータに誤りがあります。\n") );
break;
_tprintf( _T("計算不可能です。\n") );
break;
}
- 例外による通知:
- 関数の戻り値がエラーの概念を持たない場合は例外を発行します。 但し、アクセス違反だけは戻り値の型に関わらず例外を発行します。 例外の詳細に関しては、 例外処理 をご参照ください。
表) エラーの概念
型 | 正常 | 異常 |
bool | true | false |
INT | 0 | 0以外 |
ポインタ | NULL以外 | NULL |
※注) 戻り値が INT 型であってもエラーの概念を持たないものがあります。例えば、個数や座標を返すものです。