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
。