有没有一种方法可以生成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
有时会被覆盖,而mTypeClass
是T
的类。 最佳答案
您可以使用以下方法创建 DatabaseError
from the exception:
DatabaseError.fromException(e);
但是我不确定这是个好主意。您要传达的错误是应用程序级错误。将其提高为
DatabaseError
势必会导致那些在您之后维护该代码的人感到困惑。