我現在有這種格式的一個try/finally塊:類型錯誤:無法調用未定義的方法「closeFileCSV」 - 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塊中調用closeFileCSV時拋出TypeError?我不是一個JavaScript專家,但它似乎並不像範圍應該是一個問題在這裏。我知道csv被正確初始化,因爲try塊使用對象來做東西,並且不會引發任何錯誤。
我希望我只是沒有看到明顯的東西。讓我知道是否需要粘貼更多代碼才能解決此問題。
謝謝。
在'try'塊外移動'var csv = new CsvObject();' – karthikr
但Javascript只有全局和函數範圍。假設輸入了try塊,那麼這個變量應該在finally塊中可用。 – Slims