这是一个学术问题,但我很想得到您的意见。
我有一个Activity
由类型字符串松散参数化的。创建 Activity 时,我将始终通过Intent
's传递正确的类型putExtra()
。但是我只希望该字符串具有单个值,并且由于各种原因我不想对其进行硬编码(尽管我正在权衡这个想法)。
无论如何,就像一个编写可维护 Java 代码的优秀作者一样,我会抛出异常以捕获类型值不正确的高级错误。我打算用IllegalArgumentException
. 有语义上更好的选择吗?
也许更好的问题是:在启动后如何最好地处理Activity
配置错误的 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
}
}