これは少し学術的な質問ですが、ご意見をお聞かせください。
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
}
}