Gibt es eine Möglichkeit, eine neue Instanz von DatabaseError Objekt zu generieren?Wie erstellt man eine neue DatabaseError-Instanz in Firebase?
Edit:
Ich verwende eine Klasse die ValueEventListener, in der Umsetzung Ich mag würde eine Ausnahme und Strecke der Fehler durch onCancelled(DatabaseError databaseError)
Methode zu fangen.
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);
}
}
Wo parseMethod
manchmal außer Kraft gesetzt wird und mTypeClass
ist die Klasse der T
.
DatabaseError.fromException(e);
Aber ich bin nicht sicher, dass es hier eine gute Idee:
Ihr Code sollte niemals * einen * DatabaseError erstellen * müssen. Das klingt nach einem [XY-Problem] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Es ist wahrscheinlich einfacher zu helfen, wenn Sie beschreiben, was Sie erreichen wollen, indem Sie uns einen Kontext (und idealerweise einen [MCVE] (http://stackoverflow.com/help/mcve)) für den Anwendungsfall geben. –
@FrankvanPuffelen Ich habe einen Anwendungsfall hinzugefügt – Voy