現在、この形式の try/finally ブロックがあります。
try {
var someOtherObject = new SomeOtherObject(param1, param2);
someOtherObject.doStuff();
// Object that basically holds a 'result set' of csv rows.
var csv = new CsvObject();
csv.openCSV(); // does not throw an error
do {
try {
// Code that grabs stuff from the csv in a straightforward fashion.
} catch (e) {
log.info(e); // Log the error and continue on.
}
} while (csv.hasNext());
} finally {
csv.closeFileCSV(); //throws a TypeError: Cannot call closeFileCSV() on undefined.
}
ループ内でエラーがスローされることはなく、finally ブロックの外側で確認できる他の場所でも発生しません。finally ブロックで closeFileCSV を呼び出すと TypeError がスローされる理由について、誰かが私に手がかりを与えることができますか? 私は JavaScript の専門家ではありませんが、ここでスコープが問題になるとは思えません。try ブロックはオブジェクトを使用して処理を行い、エラーはスローされないため、csv が正しく初期化されることはわかっています。
明らかな何かが見えていないことを願っています。これを解決するためにさらにコードを貼り付ける必要がある場合はお知らせください。
ありがとう。