AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Mögliche Exceptions eines Objektes herausfinden
Thema durchsuchen
Ansicht
Themen-Optionen

Mögliche Exceptions eines Objektes herausfinden

Ein Thema von Caps · begonnen am 17. Apr 2020 · letzter Beitrag vom 20. Apr 2020
Antwort Antwort
Delphi.Narium

Registriert seit: 27. Nov 2017
2.558 Beiträge
 
Delphi 7 Professional
 
#1

AW: Mögliche Exceptions eines Objektes herausfinden

  Alt 17. Apr 2020, 15:42
Man, das soll doch keine fertige Lösung sein, sondern nur ein Hinweis darauf, dass bei Delphi ein Grep dabei ist, mal drei Lösungsansätze für Teilmengen dabei und dann bitte gefälligst selbst nach der für den (nicht näher beschriebenen) Einzelfall suchen.

Grep kann reguläre Ausdrücke. Jetzt bist Du dran, weist ja zuweilen darauf hin, dass man damit viel machen kann. Sei so gut und liefere den passenden regulären Ausdruck, der alles, was Du jetzt meinst mit abfrühstücken zu müssen, liefert.

ff

Geändert von Delphi.Narium (17. Apr 2020 um 16:04 Uhr) Grund: Text ergänzt
  Mit Zitat antworten Zitat
Jost Riedel

Registriert seit: 25. Mär 2020
5 Beiträge
 
#2

AW: Mögliche Exceptions eines Objektes herausfinden

  Alt 17. Apr 2020, 17:35
Und was ist mit Exceptions, die nicht von System.SysUtils.Exception abgeleited sind?

Sowas ist leider (immer) noch möglich.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Mögliche Exceptions eines Objektes herausfinden

  Alt 17. Apr 2020, 17:41
Theoretisch ist es möglich, aber praktisch basiert die komplette Fehlerbehandlung darauf, somit sollte man sowas nicht machen.

Fehlerdialoge usw. zeigen sowas nicht an
und auch das except on E: Exception do ignoriert sowas. (wirkt dann ähnlich wie ein Abort/EAbort, außer dass es am ersten EXCEPT mit einem ON-DO abbricht)



Das "leider" war Absicht. (auch wenn es seit Einführung vor Jahrzehnten nie "richtig" benutzt wurde)



Ja klar kann RegEx viel, aber hier fängst dann an das RegEx rekursiv zu benutzen ... das ist dann bissl zuviel des Guten.
Dagegen ist der Weg über die RTTI ein Klacks. (nach dem Kompilieren)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (17. Apr 2020 um 17:45 Uhr)
  Mit Zitat antworten Zitat
Jost Riedel

Registriert seit: 25. Mär 2020
5 Beiträge
 
#4

AW: Mögliche Exceptions eines Objektes herausfinden

  Alt 17. Apr 2020, 22:12
Theoretisch ist es möglich, aber praktisch basiert die komplette Fehlerbehandlung darauf, somit sollte man sowas nicht machen.

Fehlerdialoge usw. zeigen sowas nicht an
und auch das except on E: Exception do ignoriert sowas. (wirkt dann ähnlich wie ein Abort/EAbort, außer dass es am ersten EXCEPT mit einem ON-DO abbricht)
Du machst sowas nicht, und selbst ich mache das schon seit über 20 Jahren nicht mehr. Aber das ist hir nicht die Fragestellung: Es geht darum, aus einem großvolumigen, schlecht dokumentierten Sourcecode etwas sinnvolles zu extrahieren. Und da kann alles drin sein, was der Compiler akzeptiert.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Mögliche Exceptions eines Objektes herausfinden

  Alt 17. Apr 2020, 23:21
Klar, es gibt Codes, wo Exceptions zur "normalen" Flusssteuerung benutzt werden und wo z.B. Daten-Objekte via Raise als Result nach außen durchgereicht werden,
aber sowas würde ich ignorieren, da man solch ein Verhalten "vergessen" kann.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.643 Beiträge
 
Delphi 12 Athens
 
#6

AW: Mögliche Exceptions eines Objektes herausfinden

  Alt 20. Apr 2020, 11:36
Klar, es gibt Codes, wo Exceptions zur "normalen" Flusssteuerung benutzt werden und wo z.B. Daten-Objekte via Raise als Result nach außen durchgereicht werden,
aber sowas würde ich ignorieren, da man solch ein Verhalten "vergessen" kann.
Sowas musst du auch ignorieren, da du sonst diese Flusssteuerung außer Kraft setzt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Mögliche Exceptions eines Objektes herausfinden

  Alt 20. Apr 2020, 16:18
Jo, sowas vergessen wir einfach. Wer sowas macht, hat es nicht anders verdient.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.558 Beiträge
 
Delphi 7 Professional
 
#8

AW: Mögliche Exceptions eines Objektes herausfinden

  Alt 17. Apr 2020, 17:50
Wie wäre es denn, wenn wir den Threadersteller erstmal mit den bisher gegebenen Vorschlägen arbeiten lassen?

Das könnte schonmal 'ne nicht unerhebliche Menge an Ergebnissen liefern.

Und wenn dann noch was unklares überbleibt, kümmern wir uns um die (mehr oder weniger) exotischen Ausnahmen bei der Erstellung von Ausnahmen

Oder einfach mal nicht drauf hinweisen, dass es noch Sonderfälle gibt, sondern einfach mal direkt 'nen umsetzbaren Vorschlag, wie man die genannten Sonderfälle sinnvoll und sicher identifizieren kann

Und was ist mit Exceptions, die nicht von System.SysUtils.Exception abgeleited sind?

Sowas ist leider (immer) noch möglich.
Frei nach dem Motto: Und wie kann ich sie (weitgehend) sicher finden?

Und was ist mit vererrbten Exceptions, die nicht direkt von Exception abgeleitet wurden?
Dito

Erster Vorschlag: Mal alle Exceptions der Sorte EIrgendeinName = class(Exception); suchen.
Mit dem Ergebnis suchen, ob es irgendwo ein EIrgendeinAndererName = class(EIrgendeinName); gibt.
Mit dem Ergebnis suchen, ob es irgendwo ein EIrgendeinNochAndererName = class(EIrgendeinAndererName); gibt.

Upps: Rekursionsgefahr.

Vielleicht doch erstmal nur mit dem Einfachen anfangen?
  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 06:19 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