エラー処理をhelperのerrorで処理するように。streamの内部で起こったエラーはerrorではハンドルできないので別個に書いた