android - 如何在Firebase中创建新的DatabaseError实例?

标签 android error-handling firebase firebase-realtime-database

有没有一种方法可以生成DatabaseError对象的新实例?

编辑:

我正在使用实现ValueEventListener的类,在该类中,我想捕获异常并通过onCancelled(DatabaseError databaseError)方法路由错误。

public class StandardSingleValueListener<T> implements ValueEventListener {

    protected Class<T> mTypeClass;

    public StandardSingleValueListener(Class<T> typeClass){
        mTypeClass = typeClass;
    }
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        T result = null;
        try {
            result = parseMethod(dataSnapshot);
        } catch (Exception e) {
            onCancelled(new DatabaseError(e.toString()); // I'd like to create the error here
            return;
        }
        // process result
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        // process databaseError
    }

    protected T parseMethod(DataSnapshot snap){
        return snap.getValue(mTypeClass);
    }
}
parseMethod有时会被覆盖,而mTypeClassT的类。

最佳答案

您可以使用以下方法创建 DatabaseError from the exception:

DatabaseError.fromException(e);

但是我不确定这是个好主意。您要传达的错误是应用程序级错误。将其提高为DatabaseError势必会导致那些在您之后维护该代码的人感到困惑。

关于android - 如何在Firebase中创建新的DatabaseError实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37971811/

相关文章:

android - Firebase Android Auth 对象没有触发回调

android - Android Rect对象中的top,left,right和bottom是什么意思

php - 尝试运行Behat测试时出错。 usr/bin/env参数无效

C++:XCode EXC_BAD_ACCESS 问题

Firebase 环境配置 - 向 private_key_id 添加了斜杠

java - 通过网格/ ListView 将 View 推离屏幕

java - Android HttpClient 两个不同的 httppost 不起作用?

sql-server-2008 - 存储过程中的错误处理

javascript - Firebase - ref 和 child 有什么区别?

android - Firebase 用户 ID 可以更改吗?