我有一个函数,它会生成一个http请求并解析响应json数据。该函数在AsyncTask类中调用。我定义了一个函数来检查asynctask被调用之前是否存在连通性。但是,一旦连接检查器函数返回true ...我的函数在asynctask类中运行,并且设备失去连接,应用程序强制关闭。良好地处理异常
private void parseJson()
{
// HTTP request and JSON parsing done here
}
class getData extends AsyncTask <Void,Void,Void>
{
@Override
protected Void onPreExecute(Void...arg0)
{
super.onPreExecute();
//progress dialog invoked here
}
@Override
protected Void doInBackground(Void...arg0)
{
parseJSON();
return null;
}
@Override
protected Void onPostExecute(Void...arg0)
{
super.onPostExecute();
//UI manipulated here
}
}
我如何通知有关在doInBackground()方法中的例外发生的历史的用户,妥善处理异常,因为doInBackground()不允许的东西像射击敬酒消息。
我有点困惑在这里...如果一个异常随时随地抓住了doInBackground()方法没有按内整个AsyncTask类冻结...它是否到达onPostExecute方法? –
@NirajAdhikari检查其他答案,他们有我刚刚简要描述的代码。 –
这种方法对于简单的目的是可以的,但是如果你想从doInBackground中返回一个真正的值而不是“success bool”呢? – Sambuca