2016-11-07 7 views
0

をキャッチされていない、私は私のDocumentDBストアドプロシージャでこれを持っている:AzureのDocumentDBストアドプロシージャの例外は

残念ながら
function mySproc(doc) { 
    let context = getContext(); 
    let collection = context.getCollection(); 
    let collectionLink = collection.getSelfLink(); 

    try { 
     if (!collection.createDocument(collectionLink, doc, handler)) 
      return; 
     numCreated++; 
    } catch (e) { 
     // Never happens. 
    } 
} 

私は意図的にhandlerコールバックの中に投げた場合、それはcatchブロックでキャッチされません。ストアドプロシージャの実行全体が停止します。これは期待されていますか?コールバックには独自のスコープがありますか?

答えて

0

JavaScriptのような非同期環境では、通常、最初のパラメータを使用してエラーコントロールをコールバック(用語ではハンドラ)に戻します。あなたがハンドラ内で投げた場合、それは完全に終了し、エラーパッケージをクライアントに返します。あなたのキャッチブロックは決して見えません。

さらにヘルプが必要な場合は、ハンドラを表示してください。

関連する問題