J'utilise AsyncTask
pour effectuer des calculs d'arrière-plan, mais je ne parviens pas à trouver la manière correcte de gérer les exceptions. Actuellement, je suis en utilisant le code suivant:Gestion des erreurs d'administration asynchrone
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...
}
}
Je crois que la variable e maye être écrite/accessible par deux le thread principal et travailleur. Comme je sais que onPostExecute()
ne sera exécuté qu'après doInBackround()
a terminé, puis-je omettre toute synchronisation?
Est-ce un mauvais code? Existe-t-il une manière convenue ou correcte de gérer les exceptions dans un AsyncTask
?
double possible de [AsyncTask et traitement des erreurs sur Android] (http://stackoverflow.com/questions/1739515/asynctask-and-error-handling-on-android) – blahdiblah