Android:一个活动中引发的异常未在另一个活动中捕获



我有一个 ReaderActivity.java 类,我在 signData.java 类中调用signString。如果一切正常,则会创建一个名为ProductActivity的新活动。如果方法signString异常,则不应创建ProductActivity

问题是,即使我在日志中看到KSIEXCEPTION消息,我仍然看到ProductActivity已创建。我在这里错过了什么?

public class ReaderActivity extends AppCompatActivity {
.....
public void setGlobal(String actualData) {
signData sign = new signData();
try {
sign.signString(getBaseContext(), finalResults, countToSend, locToSend, typeToSend);
Intent productIntent = new Intent(getBaseContext(), ProductActivity.class);
startActivity(productIntent);
} catch (Exception e) {
e.printStackTrace();
}
}
}

现在在 signData 类中,我有方法

public class signData extends Activity{
public void signString(Context context, String data, String count, String loc, String type){
try {
/*some http connection code here*/
/*some computation related to specific API*/
}
catch (KSIException e) {
Log.i("KSIEXCEPTION","here");
e.printStackTrace();
}
}
}
  1. 不能为这样的活动创建对象。signData sign = new signData();

阿拉伯数字。

问题是,即使我看到

,我仍然看到产品活动已创建 日志中的 KSI 异常消息。我在这里错过了什么?

是的,您只是在 signString 方法中捕获异常,因此在执行此方法后,它肯定会创建下一个活动。

如果你不想转到下一个活动,你可以将该方法移动到某个实用程序类,你可以得到一些返回值(至少布尔值(,并在此基础上你可以移动到下一个活动

相关内容

最新更新