有没有一种安全的方法来处理抛出的异常super.onCreate(savedInstanceState)
?
我的一小部分用户遇到了这个错误
java.lang.NoClassDefFoundError - android.security.MessageDigest
原因在this question中讨论过,但基本上onCreate
对于MapActivity类可以抛出一个NoClassDefFoundError
。我担心提前检测到这种情况可能不是未来的证据。
我认为我的班级(扩展 MapActivity)最安全的解决方案是捕获NoClassDefFoundError
并启动一个指向 Google 地图的 URL,例如
try {
super.onCreate(savedInstanceState);
} catch (NoClassDefFoundError err) {
StringBuilder url = new StringBuilder(
"http://maps.google.com/maps?q=").append(latitude)
.append(",").append(longitude).append("&z=18");
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url.toString()));
startActivity(i);
finish();
return;
}
但是,我担心我的代码会SuperNotCalledException
在NoClassDefFoundError
发生时崩溃。
在对 super.onCreate 的调用中是否有一种安全的方法来处理异常/错误?