AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Warum zeigt Application.ShowException(..) die INNERSTE?
Thema durchsuchen
Ansicht
Themen-Optionen

Warum zeigt Application.ShowException(..) die INNERSTE?

Ein Thema von Der schöne Günther · begonnen am 24. Aug 2015 · letzter Beitrag vom 24. Aug 2015
 
Der schöne Günther

Registriert seit: 6. Mär 2013
6.190 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Warum zeigt Application.ShowException(..) die INNERSTE?

  Alt 24. Aug 2015, 10:22
Delphi-Version: XE7
Das macht doch irgendwie keinen Sinn. Folgendes Beispiel:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
resourcestring
   errorMsg = 'The calculation failed';
var
   divisor: Single;
   result: Single;
begin
   divisor := 0.0;
   try
      result := System.Pi() / divisor;
   except
      Exception.RaiseOuterException(
         EProgrammerNotFound.Create(errorMsg)
      );
   end;
end;
TApplication.ShowException(..) ist folgendermaßen definiert:
Delphi-Quellcode:
procedure TApplication.ShowException(E: Exception);
var
  Msg: string;
  SubE: Exception;
begin
  Msg := E.Message;
  while True do
  begin
    SubE := E.GetBaseException;
    if SubE <> E then
    begin
      E := SubE;
      if E.Message <> 'then
        Msg := E.Message;
    end
    else
      Break;
  end;
[...]
Was macht das für einen Sinn dem Benutzer "Floating Point division by Zero" statt "The calculation failed" anzuzeigen? Das ist doch grade der Sinn von geschachtelten Exceptions, dass ich hier sagen kann, was allgemein falsch lief, und nicht welches spezielle Byte umgefallen ist.

Erleuchtet mich.
  Mit Zitat antworten Zitat
 

 

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:56 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 by Thomas Breitkreuz