AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Android und Fehlerbehandlung?

Ein Thema von himitsu · begonnen am 25. Aug 2025 · letzter Beitrag vom 28. Aug 2025
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.719 Beiträge
 
Delphi 12 Athens
 
#1

Android und Fehlerbehandlung?

  Alt 25. Aug 2025, 00:44
Moin Moin,

schafft Delphi das wirklich nicht, oder ist das nur bei mir so?
Wenn Fehler beim Laden der Form (DFM) oder Fehler im Constructor. (ebenso wenn Fehler z.B. im DPR-Source oder Unit-Initialization)
(Delphi 12.3 und Android 15)

Weder die App im Handy, noch der Debugger reagieren auf diese Exception.
* der Debugger meldet sie garnicht und hält auch nicht an
* und die App ohne/mit Debugger bleibt im SplashScreen einfach hängen

32 Bit Android / Windows 11 Pro (gestern Delphi frisch installiert)
64 Bit ohne Debugger das selbe Ergebnis
64 Bit mit Debugger ... nach dem Start der App, bleibt die IDE eigentlich immer hängen und der Taskmanager darf ran.

Vorgehen:
* neue leere Geräteübergreifende Anwendung
* ins OnCreate ein raise Exception.Create('Fehlermeldung');

* aber auch die Exception erst im OnShow
-> selbes Ergebnis

* die Exception in einem TButton-Click
-> der Debugger hält an und meldet die Exception
-> in der App geht ein Dialog auf, mit der Exception-Message
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von TBx (31. Aug 2025 um 13:00 Uhr) Grund: Ti9tel korrigiert
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.111 Beiträge
 
Delphi 12 Athens
 
#2

AW: Andoid und Fehlerbehandlung?

  Alt 25. Aug 2025, 05:40
Ich glaube mich zu erinnern, dass das an einer Verzögerung beim Laden des Debuggers liegt. Man sieht, dass auch Haltepunkte erst später aktiv werden.

Ich kann das gerade nicht testen, aber ich glaube, dass eine Verzögerung in der .dpr half, sprich einfach Sleep.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.719 Beiträge
 
Delphi 12 Athens
 
#3

AW: Andoid und Fehlerbehandlung?

  Alt 25. Aug 2025, 07:16
Man sieht, dass auch Haltepunkte erst später aktiv werden.
Nja, sehen tut ich da nichts.
Haltepunkte und die blauen Pünktchen sehen bereits farblich aktiv aus.

Hmmm, OK, dann versuch ich es mal mit einem Sleep(100000000).
(ein 10_000 hatte ich bereits wegen was Anderem einmal drin, aber da gab es auch keinen Unterschied)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.247 Beiträge
 
Delphi 12 Athens
 
#4

AW: Andoid und Fehlerbehandlung?

  Alt 26. Aug 2025, 06:16
Es ist auch so, dass gewisse Exceptions nicht gecatcht werden können, soweit ich weiss mehr die externen System und Hardware-bedingten.
Dann könnte helfen, den Code einfach in zwei try-catch Blöcke zu kapseln, bzw. den Code in eine Funktion auslagern und drort try-catch und beim Baufruf der Funktion dann nochmal try-catch.
Das hat bei mir in manchen Fällen geholfen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.719 Beiträge
 
Delphi 12 Athens
 
#5

AW: Andoid und Fehlerbehandlung?

  Alt 28. Aug 2025, 01:02
Gibt es eigentlich auch sowas wie IsDebuggerPresent für Android und Co?

Ein beim Start ist ja nicht sonderlich praktisch {$IF defined(ANDROID) and defined(DEBUG)} Sleep(10000); {$ENDIF} .


Ich hab auch irgendwie grade den Spaß, dass Form.OnClose beim Start ausgelöst wird, anstatt OnShow.
[edit] Copy&Paste-Error : hatte ShowMessage('OnClose'); unverändert ins FormShow kopiert
aber es erklärt dennoch nicht, warum die Aktion darin nicht ausgelöst wird [/edit]
Aber eigentlich isses auch egal, denn beim Start reagiert der Debugger noch nicht auf Haltepunkte
und bevor das Sleep fertig ist, raucht der Debugger immer mit Projekt ****.apk hat die Exception-Klasse 10 ausgelöst. ab ... wie soll ich da jetzt an einen Stacktrace kommen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (28. Aug 2025 um 01:13 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz