2012-08-09 34 views
0

在使用ScriptDB服務時,我使用從Documentation中獲得的以下函數創建了一個新的獨立腳本。該代碼在var results = db.query({});行中引發「Unexpected exception upon serializing continuation」異常。我做錯了什麼,或者這是GAS問題跟蹤器的問題?ScriptDB:遍歷整個數據庫會引發異常。我做錯了什麼?

function showAll() { 
    var db = ScriptDb.getMyDb(); 
    var results = db.query({}); 

    while (results.hasNext()) { 
    var result = results.next(); 
    Logger.log(Utilities.jsonStringify(result)); 
    } 
} 
+0

我無法複製這個。使用「空」鍵導致錯誤的屬性存在問題,但我相信這是固定的。 http://code.google.com/p/google-apps-script-issues/issues/detail?id=1513首先,您是如何填充數據庫的? – AdamL 2012-08-09 22:16:39

+0

@AdamL。請嘗試通過向'var results = db.query({});'放置一個斷點來調試我的代碼,並在調試器到達該行後單擊Step Over按鈕。數據庫是完全新的和空的。我創建了一個新腳本。 – megabyte1024 2012-08-10 07:52:41

+0

@ megabyte1024嘿,如果你能在這條線上一致地重現這一點,我會提出一個錯誤。根據我的經驗,「錯誤只發生在調試器中,並且只在調試器中出現」(我同意這是真實的)的解決方法是通過外部記錄而不是調試器。 – 2012-08-10 08:20:20

回答

0

是的,我看着(Google搜索)的延續錯誤,這似乎是在谷歌與犀牛運行JavaScript環境能夠「暫停」後端的實現問題/限制當我們作爲IDE的用戶設置斷點並逐步完成代碼時。

我現在確保我將調試行寫入電子表格。它的設置速度可能會比較慢,但它的工作效率是100%,並且是一個很好的工程實踐,從日誌調試通常比慢速逐行執行代碼更快。

+0

Thanx Peter。今天,如果要創建斷點,代碼不起作用,但是昨天,即使沒有調試器,它也無法執行。 – megabyte1024 2012-08-10 08:09:44

+0

異常消息是「繼續序列化後的意外異常」,即與昨天相同。斷點應該在查詢行中設置。數據庫中沒有任何內容。它是空的。記錄儀不含任何內容。 – megabyte1024 2012-08-10 08:31:11

相關問題