私はKoushが作成した一般的なイオンライブラリの例に従っています:Download a File with a progress bardownloading.cancel()
を使用してキャンセルを送信できることをone of his samplesから見ることができます。Koush Ion onCompletedコールバック - ハンドルCancellationException
NB:downloading
はFuture<File>
と宣言されました。
cancel()
メソッドが呼び出されると、CancellationException
がスローされます。私はこの例外を一般的にキャッチするのではなく、具体的に処理したいと思います。 Exception e
とFile result
:あなたはhis exampleを見ればしかし、あなたはonCompletedコールバックが2つの入力を使用していることがわかります
try {
//...
} catch (CancellationException ce) {
//...
}
:
私が最初に考えたのはtry/catchブロックをラップし、のようなものを使用することです。
サンプルhere (line 72)はこれを示しています
if (e != null) {
Toast.makeText(ProgressBarDownload.this, "Error downloading file", Toast.LENGTH_LONG).show()
return;
}
これは例外が存在する場合は、エラーが一般化されたtry/catchブロックに代わるように見えます。しかし、CancellationException
が見つかった場合、私は別のトーストメッセージを返すことを目指しています。
カスタム例外を記述する必要があります。 – Radhey