バックグラウンド計算を実行するために使用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...
}
}
変数 e は、メイン スレッドとワーカー スレッドの両方で書き込み/アクセスできると思います。onPostExecute()
終了後にのみ実行されることがわかっているのでdoInBackround()
、同期を省略できますか?
これは悪いコードですか?で例外を処理するための合意された、または正しい方法はありAsyncTask
ますか?