Java Koush Ion onCompleted回调-句柄取消异常
下面是Koush创建的流行离子库的一个示例:从中可以看出,可以使用Java Koush Ion onCompleted回调-句柄取消异常,java,android,exception-handling,asynccallback,ion-koush,Java,Android,Exception Handling,Asynccallback,Ion Koush,下面是Koush创建的流行离子库的一个示例:从中可以看出,可以使用downloading.cancel()发送取消 注意:下载被声明为未来 调用cancel()方法时,它会抛出CancellationException。我想专门处理这个异常,而不是一般地捕获它 我的第一个想法是包装一个try/catch块,并使用如下内容: try { //... } catch (CancellationException ce) { //... } 但是,如果查看,您将看到未完成的回调使用
downloading.cancel()
发送取消
注意:下载
被声明为未来
调用cancel()
方法时,它会抛出CancellationException
。我想专门处理这个异常,而不是一般地捕获它
我的第一个想法是包装一个try/catch块,并使用如下内容:
try {
//...
} catch (CancellationException ce) {
//...
}
但是,如果查看,您将看到未完成的回调使用两个输入:Exception e
和File result
示例显示:
if (e != null) {
Toast.makeText(ProgressBarDownload.this, "Error downloading file", Toast.LENGTH_LONG).show()
return;
}
这似乎是try/catch块的替代方法,try/catch块在异常存在时泛化错误。但是,如果捕获到
取消异常
,我的目标是返回不同的toast消息。要单独处理异常,我们可以在抛出异常的实例中查找异常类型e
这是适合我的解决方案:
if (e instanceof CancellationException) {
//CancellationException was found
}
您必须编写自定义异常。