我使用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