Wie mit Exceptions umgehen?

  • 6 Antworten
  • Neuester Beitrag
Diskutiere Wie mit Exceptions umgehen? im Android App Entwicklung im Bereich Betriebssysteme & Apps.
Keine_Angabe

Keine_Angabe

Ambitioniertes Mitglied
Hallo,
wie sollte man in einer App am besten mit Exceptions umgehen?
Z.b. habe ich Streams in meiner App und fange deswegen auch IOExceptions ab. Doch was schreibt man am besten in den catch-Block? Bzw. gibt es da irgendwas, womit ich selbst über diese Exception benachrichtigt werde?

Beste Grüße
 
M

Madlip

Gast
Du kannst den Benutzer benachrichtigen das etwas schief gelaufen ist. Und du selber kannst in den catch Block schauen was schief gelaufen ist und ggf Unklarheiten bereinigen und einen neuen Versuch starten ... Es kommt halt auf den Fehler drauf an ...
 
Keine_Angabe

Keine_Angabe

Ambitioniertes Mitglied
Madlip schrieb:
Du kannst den Benutzer benachrichtigen das etwas schief gelaufen ist. Und du selber kannst in den catch Block schauen was schief gelaufen ist und ggf Unklarheiten bereinigen und einen neuen Versuch starten ... Es kommt halt auf den Fehler drauf an ...
Und wie genau mache ich das?
Grüße
 
M

Madlip

Gast
Die Meldungen kannst du den Benutzer mittels Dialogen zeigen.

Und dann kommt es je auf den Fehler drauf an, wenn du ein Fehler hast der deine app zum abstürzen bringt hast du schlechte Karten doch wenn es ein Fehler ist der bspw was mit der Datenbank zu tun hast dann kannst du da ja mögliche Routinen durchlaufen lassen. Du als Entwickler siehst da ja natürlich was mögliche Fehlerquellen sind und kannst dem entsprechend handeln. Oder wenn du ein contentprovider hast und dann eine id kommt die dem Programm nicht bekannt ist kannst du ja auch sagen aus dem und den Grund nicht bekannt.

Wichtig ist einfach das der User Bescheid weiß warum etwas nicht geklappt hat etc


Sent from my iPhone using Tapatalk
 
F

Flixius

Fortgeschrittenes Mitglied
ein einfaches beispiel wie du es zb. umsetzen könntest wäre das folgende. durch das return im catch wird der code unter dem catch nicht mehr ausgeführt.

achtung pseudocode:

Code:
try{
string result = getResult(id);
}catch(Exception e){
Toast.makeText("Result kann nicht abgerufen werden").show();
return;
}
Toast.makeText("Das Result ist:"+ result, TOAST_LENGTH.SHORT).show();
 
Keine_Angabe

Keine_Angabe

Ambitioniertes Mitglied
Vielen Dank!
 
F

funcoder

Fortgeschrittenes Mitglied
Bzw. gibt es da irgendwas, womit ich selbst über diese Exception benachrichtigt werde?
Wenn es dir ausschließlich darum geht bei Exceptions direkt benachrichtigt zu werden, kann ich dir ACRA empfehlen.
ACRA fungiert dabei als die Root-Exception-Handling Instanz die einen Absturz beispielsweise in ein von dir erstelltes GoogleDoc einfügt.
Es gibt etliche Konfigurationsmöglichkeiten die definieren wie und welche Daten (Stacktrace, Smartphone, Android Version oder beliebige Attribute) übermittelt werden bzw. ob der Benutzer informiert werden soll...

Eine tolle Sache die allerdings verständlicherweise die Internet-Permission benötigt.
 
Zuletzt bearbeitet: