我使用try catch
塊在iced coffee script
。我打電話不存在的方法fake
不存在的對象a
並期望發現錯誤。嘗試抓並不總是在冰咖啡腳本作品
db = require '../../call/db.iced'
try
await db.find "79", defer c, d
a.fake()
catch error
console.log "error catched"
console.log error
但在控制檯調用函數db.find
a.fake()拋出錯誤後,但它不使用try catch
塊預期。
如果我註釋掉字符串await db.find "79", defer c, d
...
db = require '../../call/db.iced'
try
# await db.find "79", defer c, d ############## commented out
a.fake()
catch error
console.log "error catched"
console.log error
...它工作正常和錯誤捕獲。
我試圖改變字符串await db.find "79", defer c, d
由其他簡單的異步函數calles,但他們工作正常,錯誤得到了很好的捕捉。
有趣的是,功能db.find
工作良好。當我註釋掉字符串a.fake()
...
db = require '../../call/db.iced'
try
await db.find "79", defer c, d
#a.fake() ################################ commented out
catch error
console.log "error catched"
console.log error
...這個劇本工作沒有任何錯誤,所以沒有捕捉錯誤。
找不到功能await db.find "79", defer c, d
後爲什麼我不能捕獲錯誤。
謝謝!我應該如何改變try catch塊來捕獲'a.fake()'調用的錯誤?或者,單一的方法是從'try'塊中排除異步函數? –
爲我的答案增加了一些解決方案。看看是否有幫助。 – JSuar