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 –