AGB  ·  Datenschutz  ·  Impressum  







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

Funktion als Exception markieren?

Ein Thema von himitsu · begonnen am 16. Aug 2022 · letzter Beitrag vom 13. Sep 2022
Antwort Antwort
Benutzerbild von himitsu
himitsu
Online

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

AW: Funktion als Exception markieren?

  Alt 12. Sep 2022, 11:41
Wie soll der Compiler das denn bitte checken können? Also möglich wäre sowas natürlich, aber sehr, sehr aufwändig. Du musst ja alle Programmpfade durchgehen und prüfen, ob sicher überall eine Exception geworfen wird. Und das bei CodeInsight bzw. LSP, was ja eh schon kaum vernünftig läuft und ständig abschmiert.
Na so, wie jetzt auch schon?

Gibt es keinen Pfad, der bis zum END führt, oder bei einem EXIT endet,
bzw. gibt es ausschließlich Pfade, die bei einer Exception, Abort oder einer "mit exception" markierten Methode ankommen,
dann ist es so.

Und es muß nur noch an der Funktion gespeichert werden, dass es so ist, damit bei Verwendung/Aufruf das abgefragt werden kann.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (12. Sep 2022 um 11:45 Uhr)
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
493 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Funktion als Exception markieren?

  Alt 12. Sep 2022, 11:51
Ja okay, wie gesagt, möglich ist es ja. Zumindest, wenn man jetzt mal von ASM-Abschnitten, Zeigern, Labels/GoTos und OS-Fehlern absieht. Diese Sachen kann man halt nicht zuverlässig vorhersagen, aber das wird ja bei keiner der Warnungen auch nur versucht.
Aber ja, du hast wohl recht, wenn man das mit in den Methoden-Cache packt, dann ginge das schon ohne zu viel Overhead.
Dennis
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Funktion als Exception markieren?

  Alt 12. Sep 2022, 13:34
Alternativ, eben, wie hier ursprünglich "gewünscht", dass der Entwickler es einfach manuell setzt.
Wenn der Code dann doch keine Exception auslöst, dass ist es einfach ein Fehler.

So als Option an die Deklaration.
Attribute oder eben so wie inline/virtual/abstract/cdecl/...
Ein Therapeut entspricht 1024 Gigapeut.
  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 18:03 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