0
管理例外,我有这样的代码:中的AsyncTask
public void remote(final Backup backup) {
local(backup);
AsyncTask.execute(new Runnable() {
@Override
public void run() {
BackupSendInfo sendInfo = new BackupSendInfo()
.setFile(getLastBackup()) // <---
.setFileName(getBackupName(backup))
.setBackup(backup)
.setDeviceId(device)
.setApp(config.getAppName());
fileSender.send(sendInfo);
}
});
}
这是getLastBackup
方法签名:
private File getLastBackup() throws BackupException;
正如你所看到的,它抛出BackupException
,但我不能添加throws BackuPException
delcaration在remote
方法签名中,因为它在另一个线程中。
我该如何处理这种情况? 我想要remote
方法抛出BackupException
在asynctask方法中捕获异常并抛出它。 –
我不能。如果我在AsyncTask的catch中重新抛出它,我会得到相同的错误:必须捕获异常。 –
这可以帮助你:http://stackoverflow.com/a/6312491/4596556 –