我目前有这种格式的 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 专家,但似乎范围在这里应该不是问题。我知道 csv 已正确初始化,因为 try 块使用该对象执行操作并且不会引发任何错误。
我希望我只是没有看到明显的东西。让我知道是否需要粘贴更多代码才能解决此问题。
谢谢。