2016-06-13 10 views
0

私はJava Webサービスの開発に取り組んできました。このプロジェクトでは、私はエラー処理システムを持っています。私の問題は、エラー処理システム自体が例外をスローする場合(例えば、ログファイルのFileNotFoundExcptionなど)にどうするかです。それは飲み込むべきですか?またはユーザーまたは他の何かに送信する必要があります。 information_________エラー処理システムのエラー処理方法は?

私の古いprjectsで

_new

これまで例外がスローされます。 1システムが例外をキャッチします。 2a-システムは、適切なメッセージをユーザに返す。 2b-システムはスタックトレース全体で例外をログに記録します。この方法でエンドユーザーは管理者に通知し、管理者はエラーログを送信します。私の質問は、システムが例外を記録できない場合です。過去に私はこのことについてシステム管理者に知らせるためにユーザーに2番目のメッセージを送っていたでしょう。これが正しい選択かどうか疑問に思います。


どのような種類の情報にも感謝します。

+1

あなた自身に回復のレベルを与えることができます。たとえば、1)ログファイルを見つけられず、再作成してください。2)ログファイルに書き込むことはできません。メッセージを送信してください。3)メッセージを送信する場合は、ログをそれらのうちの1つが失敗した場合に備えてデータベーステーブルに格納されます。 –

+0

@MichaelMarkidisと同意します。ところで、なぜあなた自身のログシステムを実装していますか?なぜ標準的なロガーの1つを使用しないのですか? Java用の安定した成熟したロギングライブラリがたくさんあります(https://www.loggly.com/blog/benchmarking-java-logging-frameworks/ –

+0

@VinceEmighを参照)。具体的には、例外処理プロセス中に発生するあらゆる種類の例外です。私が提供した状況はほんの一例に過ぎませんでした。 – Homal

答えて

1

です。 例外をキャッチまたはスローするには、すべて例外が発生するコンテキストに依存します。

質問に答えるには例外が発生した場合は、先に進んでください。

+0

私は同意する、それはあなたのbussinessのニーズとコンテキストに依存します。例えば。いくつかのファイルが欠落しているという事実についてエンドユーザーに通知する必要がある場合は、カスタムのConfigurationException(「設定ファイルが見つかりません」)のように、同じ例外またはより一般的なものを再試行できます。 –

+0

@ nike.laos実際これは私のものです今までやっている。そのような状況の私の最後のプロジェクトは、何か悪いことが起こったことをユーザーに伝え、システム管理者に通知し、管理者が私に(開発者に)通知するはずです。もっと良い方法があるのだろうかと思っていた。あなたのタンク。 – Homal