【发布时间】:2014-01-10 23:12:38
【问题描述】:
我在iced coffee script 中使用try catch 块。我调用不存在对象a 的不存在方法fake 并期望捕获错误。
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,但它们工作正常并且错误被很好地捕获。
有趣的是,函数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 之后无法捕获错误。
【问题讨论】:
标签: error-handling iced-coffeescript