ライブラリからトライキャッチで戻ってきた際の引数について

現在下記のような挙動を実装しております

①MainXaml全体をトライキャッチで囲む

②MainXamlから他Xamlに移動

③他Xaml内でエラー発生し、トライキャッチによりMainXamlに戻る

他Xaml内でエラーが発生した際、保持している引数は引き継がれないとお聞きしました。
そのため、エラー発生しても保持しておきたい引数はグローバル変数で指定する事にしました。

しかし、今後『②』の他Xamlへの移動部分をライブラリ化したいと考えております。
ライブラリ化したプロジェクトへの移動に際してはグローバル変数が認識されないかと存じます。

ライブラリ化したプロジェクト内でエラーが発し、Mainに戻ってきた際に必要な引数を
保持する方法はないでしょうか?

保守性を考えると、この方法はあまり良くないと思います。

ライブラリ化したプロジェクト内でエラーが発し、Mainに戻ってきた際に必要な引数を
保持する方法はないでしょうか?

ライブラリ側で例外をTry-Catchで捕捉し、必要な引数の内容を Exception.Dataに放り込んで再スローすれば、呼び出し元のCatch内でこれを読み込むことができます。

あるいは例外終了はさせずに、正常終了として、正常/異常終了のフラグなり、例外に関する引数を用意しておいてそこにインスタンスがあれば例外として扱うような手もあります。

ご返信ありがとうございます!
>ライブラリ側で例外をTry-Catchで捕捉し、必要な引数の内容を Exception.Dataに放り込んで再スロー
戻したい引数が複数あり、Exception.Data一つでは難しいのかなと考えております

>正常終了として、正常/異常終了のフラグなり、例外に関する引数を用意
イメージ的には下記のような感じでしょうか?

①MainXaml全体をトライキャッチで囲む

②MainXamlから他Xamlに移動

③他Xaml内でエラー発生した際、他Xaml内のトライキャッチでキャッチ。この際エラー判定用の引数を代入

④正常終了でMainXamlに戻り、IFでエラー判定の変数を参照し再度スローを投げる

この場合、呼び出しのアクティビティとセットでエラー判定のIFロジックも常に設定する必要がある感じでしょうか?
煩雑化しそうであるのを懸念しております

IDictionaryなので、収納する内容や数に制限はありません。

この場合、呼び出しのアクティビティとセットでエラー判定のIFロジックも常に設定する必要がある感じでしょうか?
煩雑化しそうであるのを懸念しております

他xamlというのがライブラリを指していますか?それともMain.xamlがライブラリですか?
ロジックによりますので一概には言えませんが、基本的には何らかの形で返ってきた例外用変数の内容をチェックする必要があります。

なおReFrameworkではSystemException変数の内容によって遷移先を決定する仕組みになっています。