Boh*_*sen 14 android android-room
我正在试图找出如何处理Room的错误.我有以下在数据库中插入任务的交互器:
TaskInteractor.java
public class TaskInteractor extends AbstractInteractor implements TaskContract.Interactor {
final TaskRepository mRepository;
interface Callback {
void onSuccess();
void onFailure(Throwable t);
}
@Inject
public TaskInteractor(WorkerThread workerThread,
MainThread mainThread,
TaskRepository repository) {
super(workerThread, mainThread);
this.mRepository = repository;
}
@Override
public void insertTask(final Task task, final Callback callback)
throws SQLiteException {
mWorkerThread.get().execute(new Runnable() {
@Override
public void run() {
try {
mRepository.insertTask(task);
} catch (SQLiteException exeption) {
Timber.e("Insertion failed. Exception: " + exeption.getMessage());
callback.onFailure(exeption);
throw exeption;
}
Timber.d("Insertion succeeded.");
callback.onSuccess();
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
在insertTask我使用try-catch块来检查是否SQLiteException发生了.如果是,我抛出异常.但这是处理错误的好方法还是有更好的方法?
| 归档时间: |
|
| 查看次数: |
1831 次 |
| 最近记录: |