Absturz nach exception
-
Hallo zusammen
Ich entwickle ein Programm für Android. Wenn ich mit try und catch eine Exception abfange stürzt das Programm ab.
Die Excepten fange ich wie folgt ab
try { ; } catch( Exception &e ) { throw Exception(e.Message + ". Fehler"); }
Im Programm gebe ich dan den Fehler wie volgt aus
try { } catch (Exception &exception) { Application->ShowException(&exception); } catch (...) { try { throw Exception("Es ist ein schwerer Ausnahmefeler geschehen!"); } catch (Exception &exception) { Application->ShowException(&exception); } }
Weiss jemand was ich ändern muss damit das Programm nicht mehr abstürzt.
Gruss Renato
-
throw Exception(e.Message + ". Fehler");
nennst du abfangen?Was hat das mit VCL zu tun?
-
Du fängst die Exception nicht wirklich ab. Du fängst sie und wirfst sie mit Throw weiter nach oben im Stacktrace. Wenn du dort nicht wieder mit Try-Catch arbeitest fliegt sie halt nach ganz außen und dein Programm raucht ab.
-
Ciao manni66
Da hast du Recht. Mit VCL hat das Problem selber nichts zu tun. Aber wo soll ich es den hinstellen. Denn ein Forum für Firemunky gibt es hier noch nicht.
Gruss Renato
-
@robbiani sagte in Absturz nach exception:
Ciao manni66
Da hast du Recht. Mit VCL hat das Problem selber nichts zu tun. Aber wo soll ich es den hinstellen. Denn ein Forum für Firemunky gibt es hier noch nicht.
Gruss Renato
https://www.c-plusplus.net/forum/category/33/c-alle-iso-standards
-
Wo passiert denn der Absturz? Was für ein Absturz tritt denn auf?
VG
-
@robbiani sagte in Absturz nach exception:
Die Excepten fange ich wie folgt ab
try
{
;
}
catch( Exception &e )
{
throw Exception(e.Message + ". Fehler");
}Genau hier fängst du sie ab, und beförderst sie gleich wieder auf die Reise (siehe
throw
in deinercatch
-Klausel).Exceptions in
catch
-Klauseln sollen auch immer const-ref's sein, aber deine sind nichtconst
.
-
@spiri sagte in Absturz nach exception:
Exceptions in catch-Klauseln sollen auch immer const-ref's sein, aber deine sind nicht const
Nicht immer. Wenn man weitere Informationen dazupacken möchte nicht, wie z. B. möglich mit Boost.Exception.