現在、この形式の 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 が正しく初期化されることはわかっています。
明らかな何かが見えていないことを願っています。これを解決するためにさらにコードを貼り付ける必要がある場合はお知らせください。
ありがとう。