前提・実現したいこと
csvファイルの各行を読み取って、行ごとに処理をループで実行する事を考えています。
発生している問題・エラーメッセージ
csvファイルのデータを読み取る上で以下のようなコードを書いてます。
typescript
1 2// fast-csvというライブラリを利用しています 3import * as csv from 'fast-csv'; 4import * as fs from 'fs'; 5 6const readRows = async(callback: Function) => { 7 8 let rows: Object[] = []; 9 10 let csvStream = csv({ 'headers' : true}) 11 12 csvStream.on('data', async row => { 13 rows.push(row); 14 }) 15 .on('end', async () => { 16 callback(rows); 17 }); 18 .on('error', async () => {}); 19 20 const stream = await fs.createReadStream('test.csv'); 21 await stream.pipe(csvStream); 22}
ここで、質問です。
例えば、上記の関数を利用して、
以下のようにコードを書いたとします。
typescript
1let someProcedure = () => { 2 ... 3 throw new Error('error dayo'); 4} 5 6try{ 7 readRows(someProcedure); 8}catch(error){ 9 throw error; 10}
someProcedure内で例外が発生した時に、
errorを補足できるようにしたいと思っているのですが、
readRowsの中で、例外の捕捉に失敗します。
(UnhandledPromiseRejectionWarning が発生します。)
このようなケースで例外を捕捉するためには、
どのようにすればよいでしょうか?
どなたかわかる方、
アドバイスをいただければ幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。