インフラジスティックス・ジャパン株式会社Blog

インフラジスティックス・ジャパン株式会社のチームメンバーが技術トレンド、製品Tips、サポート情報からライセンス、日々の業務から感じることなど、さまざまなトピックについてお伝えするBlogです。

WPF / Prism のエラーハンドリングについて - 弊社提供 : 技術トレーニングの事例紹介①

こんにちは!

テクニカルコンサルティングチームの古堅です。

本記事では、 WPF / Prism 入門者向けのトレーニングの紹介 を通して、

よくご相談頂く事例、第1弾のご紹介です。

概要

弊社提供の WPF 技術トレーニングにおいて、お客様より非常によくご相談頂くご質問の1つとして

「WPF / Prism ではどのようにエラーハンドリングを行った方が良いのか?」

というものがあります。

本記事では、簡単に事例の紹介をします。

エラーハンドリング

メッセージの表示方法

メッセージの表示方法について、1つのテーマとして取り上げても、

  • ダイアログ形式か、トースト形式のメッセージが良いのか?
  • MVVM アーキテクチャの場合、どの層 (View/ViewModel/Model) で処理すれば良いのか?
  • Prism のどの機能を使うのが適切か分からない。
  • メッセージの表示ダイアログをカスタマイズして表示したい。

など、UI の観点や、アーキテクチャ、実装方法など、様々なお悩みをお聞きしますし、開発要件によっては推奨される実現方式が様々です。

一般的によく使われるのはダイアログ形式ですが、

例えば、リアルタイムに情報を表示 / エンドユーザーの操作が発生するアプリケーションの場合、ダイアログ形式では、エンドユーザーの操作を阻害、あるいは、必要情報をダイアログで隠してしまう危険性があり、ダイアログ形式ではなく別の表示方法の方が良いと推奨させていただく事もあります。

このように、弊社トレーニングでは、お客様のご要望を伺いながら、要件に応じた最適なメッセージの表示方法の提案から実装方法に至るまでのアドバイスを実施します。

例外時のハンドリング

どんなアプリケーションでもバグを完璧にゼロにすることは出来ず、

想定していない例外が発生してしまう事はどうしても避けられない問題ですね。

WPFでは、そのような想定外の例外が発生した場合に、処理することができるイベントがあります。

docs.microsoft.com

例えば、上記イベントを前提に、

  • 例外が発生した場合の、ログの出力方法をしりたい。
  • 例外が発生しても、アプリケーションを落とさずにエラー画面を表示したい。
  • 例外が発生した場合、特定の画面に戻したい。

など、ご要件を伺いしながら、最終的な実装方法に至るまでアドバイスします。

ログの出力方法

ログ出力は、全ての業務アプリケーションにおいて必須の機能です。

残念ながら、WPF / Prism の標準機能だけでは、ログ出力を高度にサポートできる機能がない為、よく推奨するのは NLog というライブラリです。

NLog は .NET 環境で使えるログ出力できる OSS です。

ログの出力先、エラーのレベル (例外、エラー、情報など)の設定による出力制限などが出来ます。

Prism の機能と NLog を併用する形でログ出力の実装を提案することが多いです。

まとめ

本記事では、エラーハンドリングをメインテーマに取り扱いましたが、あくまでほんの一例です。

プロフェッショナルサービスでは、お客様の開発要件を伺いながら、要件定義フェーズから実装フェーズまでご支援します。

もしお悩みをお抱えであれば、是非こちらからお気軽にお問合せください。

開発全般に関するご相談はお任せください!

インフラジスティックス・ジャパンでは、各プラットフォームの特別技術トレーニングの提供や、開発全般のご支援を行っています。

「古い技術やサポート終了のプラットフォームから脱却する必要があるが、その移行先のプラットフォームやフレームワークの検討が進まない、知見がない」

「新しい開発テクノロジーを採用したいが、自社内にエキスパートがいない。日本語リソースも少ないし、開発を進められるか不安」

「自社のメンバーで開発を進めたいが、これまで開発フェーズを外部ベンダーに頼ってきたため、ツールや技術に対する理解が乏しい」

「UIを刷新したい。UIデザインやUI/UXに関する検討の進め方が分からない。外部のデザイン会社に頼むと、開発が難しくなるのではないか、危惧している」

といったご相談を承っています。

お問合せはこちらからお気軽にご相談ください。