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
しかし、関数 a.fake() を呼び出した後、コンソールでエラーがスローされますが、期待どおりにブロックがdb.find使用されません。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
... このスクリプトはエラーなしで動作するため、エラーをキャッチすることもありません。
function の後にエラーをキャッチできない理由がわかりませんawait db.find "79", defer c, d。