Я использую AsyncTask
для выполнения некоторых фоновых вычислений, но я не могу найти правильный способ обработки исключений. В настоящее время я использую следующий код:Обработка ошибок Asynctask
private class MyTask extends AsyncTask<String, Void, String>
{
private int e = 0;
@Override
protected String doInBackground(String... params)
{
try
{
URL url = new URL("http://www.example.com/");
}
catch (MalformedURLException e)
{
e = 1;
}
// Other code here...
return null;
}
@Override
protected void onPostExecute(String result)
{
if (e == 1)
Log.i("Some Tag", "An error occurred.");
// Perform post processing here...
}
}
Я считаю, что переменная е майе записывается/доступ как главного и рабочего потока. Как я знаю, onPostExecute()
будет запущен только после завершения doInBackround()
, могу ли я опустить любую синхронизацию?
Это плохой код? Есть ли согласованный или правильный способ обработки исключений в AsyncTask
?
возможно дубликат [AsyncTask и обработки ошибок на Android] (http://stackoverflow.com/questions/1739515/asynctask-and-error-handling-on-android) – blahdiblah