Closed p4j4dyxcry closed 3 years ago
変更の理由などを忘れていたので返事が遅くなってすいません。 現状の仕様としては ReadOnlyReactiveProperty のときは例外が発生したとき(OnError のとき)は何もしない仕様になっています。
この変更は v7 に上がるタイミングで ReadOnlyReactiveProperty の性能を少し改善したときの変更で起きています。 例外が起きたかどうか知りたいですか?
返答ありがとうございます。 質問したいと意図としましては、とあるプロジェクトでReactiveProperty6.2から7.6.1へのアップデートを検討しており、その過程で先行して置き換えの検証をしていたところ本件に起因するトラブルが報告されましたので質問させていただいた次第です。
仕様ということで承知しました。 開発中のGUIアプリケーションが意図しない例外が発生している状態で継続して実行されるのは不本意なので例外の発生で早期に異常を知らせたい部分ではReadOnlyReactivePropertyではなく、ReactivePropertyで代替、もしくは例外ハンドラを差し込む形に変更するのを考えています。(より良い案があればご教授願いたいです。)
v6 のものに基本合わせて、オプションで握りつぶせるような感じにしてみました。 PRのテストコードみたいな動きになります。
このIssueのサンプルコードをそのまま使わせてもらいました。
ご対応ありがとうございました。
ちょっとTwitterでこの変更困る人がいるか聞いてみてから最終的にマージするかどうか確認してみようと思います。
いつもお世話になっております。 WPFにてReactivePropertyを利用させていただいております。 今回表題の件について質問させていただきたいのですが 例えば、ObservableなソースからReactivePropertyを生成する際に変換途中で例外が発生した場合 ハンドルされていない例外であればスローされると思っていたのですが( 実行スレッドが同一という仮定の場合) 実際にはReadOnlyReactiveProperty においてはスローされないみたいでした。 以下にコード例を示します。
この様な挙動は想定通りでしょうか?
※ReactiveProperty 7.6.1にて動作確認を行っています。
2021/01/22 : 追記
ToReadOnlyReactiveProperty()
においてもハンドルされていない例外がスローされることを確認しました。