0

これは少し学術的な質問ですが、ご意見をお聞かせください。

Activityタイプ文字列によって大まかにパラメータ化された があります。アクティビティを作成するときは、常に を介して適切なタイプを渡しIntentますputExtra()。しかし、私はその文字列に単一の値を持たせたいだけであり、さまざまな理由でそれをハードコーディングしたくありません (私は考えを検討していますが)。

いずれにせよ、保守可能な Java コードの優れた作成者のように、私は例外をスローして、不正な型値の高レベルのバグをキャッチします。を使用する予定IllegalArgumentExceptionです。意味的により良い選択はありますか?

Activityおそらくより良い質問は、Androidが起動された後、構成が間違っているだけの Android にどのように対処するのが最善かということです。

public class MyActivity {

   private String type;

   @Override
   protected void onCreate(Bundle sharedInstanceState) {
      super.onCreate(sharedInstanceState);

      Intent intent = getIntent();
      this.type = intent.getStringExtra("type");

      if (this.type == null || !this.type.equals("the proper type")) {
         // is there something semantically better?
         throw new IllegalArgumentException("You're doing it wrong.");

         // perhaps it's better just to toast.show(), Log.e(), and finish()?
      }

      // ... etc
   }
}
4

1 に答える 1