首页 > 解决方案 > Android Room Dao 抛出检查异常

问题描述

我有一个检查异常,我希望我的 Room DAO 方法能够抛出。我怎样才能做到这一点?

这是我尝试过的:

public class MyCheckedException extends Exception{
}


@Dao
public abstract class FooDao {
    @Transaction
    public void methodThatThrowsCheckedException() throws MyCheckedException  {
        throw new MyCheckedException();
    }
}

我收到构建错误error: unreported exception MyCheckedException; must be caught or declared to be thrown FooDao_Impl.super.methodThatThrowsCheckedException();

编辑:

一些附加信息:这是生成的methodThatThrowsCheckedException方法的样子

@Override
public void methodThatThrowsCheckedException() {
    __db.beginTransaction();
    try {
        FooDao_Impl.super.methodThatThrowsCheckedException();
        __db.setTransactionSuccessful();
    } finally {
        __db.endTransaction();
    }
}

无论如何,我可以让生成的代码将此作为方法签名吗?public void methodThatThrowsCheckedException() throws MyCheckedException

标签: javaandroidandroid-room

解决方案


推荐阅读