Asynctask Erreur De Manipulation

Je suis en utilisant AsyncTask pour effectuer certains calculs d'arrière-plan, mais je suis incapable de trouver une bonne façon de gérer les exceptions. Actuellement, je suis en utilisant le code suivant:

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 à la fois par le principal et le thread de travail. Comme je sais que onPostExecute() sera exécutée uniquement après doInBackround() a fini, je peux omettre toute synchronisation?

Est-ce un mauvais code? Est-il d'accord ou bonne façon de gérer les exceptions dans un AsyncTask?

OriginalL'auteur Leo | 2010-09-11