エラー処理って、関数内で確保したリソースを開放して
エラーコード返すくらいだけど?
エラーコードをどう処理するかは呼び出し側の関数で決めればいいこと。