在我的植入过程中,我需要从一个类中抛出几个异常,然后在外面处理它们。 在我创建的类中,我还实现了AsyncTask私有类,并且从这个类中,我还需要抛出异常。 我意识到我不能从AsyncTask类中抛出任何异常,而只是为了处理它。这不是我需要的。
是否有某种解决方案,所以我可以在AsyncTask中抛出我想要的任何异常?
答案 0 :(得分:2)
我做的事情如下 - 编写自己的MyListener类实现。将它放在MyAsyncTask类的构造函数中 - 检查doInBackground方法的返回值,并调用相关方法。
public interface MyListener {
public void onSuccess();
public abstract void onFail();
}
public class MyAsyncTask extends AsyncTask<String, Void, String>{
private MyListener listener;
public MyAsyncTask(MyListener listener){
this.listener = listener;
}
protected String doInBackground(String... params) {
return aValue;
}
protected void onPostExecute(String aValue) {
//Check aValue,if OK
listener.onSuccess();
//else
listener.onFail();
}
}