Auction Exampleには、ctx.commandFailed(...)
とthrow SomeException(...)
の両方があります。 APIを使用する代わりにスローするのがよい理由はありますか?その2つの違いがありますか?ctx.commandFailedからPersistentEntityをスローするまで
1
A
答えて
1
永続エンティティコマンドハンドラと永続コールバック後は、try/catch
ブロックにラップされます。例外がキャッチされると、その例外はctx.commandFailed(...)
に渡されます。
気付いている2つの微妙な違いがあります。例外をスローすると、コマンドの処理はもちろん停止します。ただし、ctx.commandFailed(...)
に例外を渡すと、例外がコマンドの呼び出し元に返されますが、処理は停止しません。あなたは、理論的には、イベントを持続させるためのいくつかの指示を返すことができます。これは奇妙なことです。実際には、ctx.commandFailed(...)
を呼び出した後にctx.done
を返す必要があります。
一般に例外をスローするのはもっと簡単で安全です。
関連する問題
- 1. Spring DataのPersistentEntityとは何ですか?
- 2. DynamoDB SpringブートデータRest "PersistentEntityをnullにすることはできません!"
- 3. Lagomおよびinter-PersistentEntity参照
- 4. エラーメッセージリゾルバからCustomExceptionをスローすることができません
- 5. カスタムクラスライブラリから例外をスローする
- 6. 例外から例外をスローする
- 7. Process.Exitedハンドラから例外をスローする
- 8. WebGLから例外をスローする
- 9. シングルトンイニシャライザから例外をスローする
- 10. vb.netからIronPythonでスローされたイベントを処理します。
- 11. メソッドから例外をスローすることはできますか?
- 12. _CrtSetReportHookから例外をスローすることはできますか?
- 13. Collection.size()はConcurrentModificationExceptionをスローできますか?
- 14. 用語 - イベントを「スロー」できますか?
- 15. コントローラーで実行されたコマンドから例外をスローする
- 16. C++でコンストラクタから例外をスローする
- 17. "PersistentEntityをnullにすることはできません" MongoDBとSpringデータの例外REST
- 18. VB.NETがデフォルトでOverflowExceptionをスローするのはなぜですか? MSDNから
- 19. 春のデータを作る方法@Asyncの仕事?エラー:</p> <p>{「原因」:ヌル、「メッセージ」: "PersistentEntityがnullであってはならない私は、私は次のエラーを取得する春データリポジトリ法に@Asyncを使用しようとするとPersistentEntityが
- 20. このメソッドから例外をスローする必要がありますか?
- 21. PDOクラス拡張からPDOExceptionをスローする必要がありますか?
- 22. FAILED(HRESULT)からstd :: system_error例外をスローする方法はありますか?
- 23. アンドロイドネイティブコードからC++例外をスローするとスレッドがハングする
- 24. HibernateはHqlSqlWalkerからNullPointerExceptionをスローします
- 25. SSRSレポートがレポートマネージャーからランタイムエラーをスローしています
- 26. MPMoviePlayerControllerは1回再生してからエラーをスローします
- 27. Linux上のJerseyからJsonを返す例外をスローする
- 28. Springboot JPA @Query Rest PersistentEntityを与えることはnullであってはなりません
- 29. コンポーネントから例外をスローするのは良い方法ですか?
- 30. モーダルダイアログから例外をスローする最良の方法は何ですか?
私は2つのオプションが比較的同等であると理解していたと思っていましたが、例外をスローするとOneToOneStrategy(表面的にはアクターが再起動されたため)からのログになります。 ctx.commandFailed(throwable)と同じログが表示されないため、重大な違いがあるようです。私は本当に私のエンティティが失敗したすべてのコマンドを記録するのを望んでいないので、後者を選択しました。しかし、私は他の違いがあるのだろうかと思っています。 – dres