一般的な問題は、プログラムがコンパイルされることがありますが、外部(ユーザー/環境)の設定によってアプリケーションがランタイム中にクラッシュする可能性があるということです。私はルールを持ってしたいと思います(実際にはランタイム中に実行悲しいかな)すべてのコード上でチェックを実行別に設定/設定によるエラーを避ける最善の方法BEFOREランタイム
、 は、コヒーレントであること、少なくともデフォルト値の設定、ビルド中にを主張するために設定します。
デフォルト設定がハードコードされている場合、最も簡単な場合は、ことがあります
Directory defaultDir = new Directory("D:\\Data");
UserLogin usr1 = "Jesse";
UserLogin usr2 = "James";
(ええ、「BOOH」;これは一例であり、はそのunsignificant詳細にはありませんコメント/答えをしてください...あなたの一部にとっては難しいことは分かっていますが、REFRAINしてください:-))
DURING Buildをチェックする方法はありますか?「D:¥Data」が存在し、usr1とusr2は異なるログイン文字列など...
私はsuです.NETにアサーションメカニズムがあり、ユニットテストがあるかもしれません(この特定のケースでは、非常に軽い使用/必要性のために後者の原因を避けたいと思います)。しかし、私はUnit Testsが何のために設計されているのかと推測しています...)
デフォルト値の設定が間違っています。あなたは例外を取得しません、それはちょうど正しく動作しません、なぜそれが明らかではありません。あなたはもっと多くの時間を無駄にするでしょう。 –
問題は実際にはいくつかのクラスの設定が壊れているのを避け、ランタイム中にしか実現しないようにしたいということです。 –