AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Exception abfangen und ausgeben funktioniert nicht

Exception abfangen und ausgeben funktioniert nicht

Ein Thema von Alex.G · begonnen am 3. Nov 2011 · letzter Beitrag vom 3. Nov 2011
Antwort Antwort
Alex.G

Registriert seit: 30. Aug 2011
31 Beiträge
 
Delphi 7 Enterprise
 
#1

Exception abfangen und ausgeben funktioniert nicht

  Alt 3. Nov 2011, 07:20
Delphi-Version: 7
Morgen!

Ich will mit einer try...except.. eine Exception abfangen und diese ausgeben.
Delphi-Quellcode:
on e:Exception do
  Application.MessageBox('Es trat ein Fehler auf:'+#10#13+e.Message, 'Fehler', 16);
Leider bekomme ich vom Compiler einen Fehler:
Code:
[Fehler] uOwnSql.pas(113): Inkompatible Typen: 'String' und 'PAnsiChar'
Was mache ich falsch?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Exception abfangen und ausgeben funktioniert nicht

  Alt 3. Nov 2011, 07:24
Zitat:
function MessageBox(const Text, Caption: PChar; Flags: Longint = MB_OK): Integer;
Sobald Du konkatenierst wird der Wert automatisch als String angesehen. Also besser so:
Delphi-Quellcode:
on e:Exception do
  Application.MessageBox(PChar('Es trat ein Fehler auf:'+sLineBreak+e.Message), 'Fehler', 16);
[edit] Übrigens ist der Zeilenumbruch unter Windows #13#10. Nimm doch besser die Konstante sLineBreak, dann musst Du Dir um die Reihenfolge keine Gedanken machen. [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Exception abfangen und ausgeben funktioniert nicht

  Alt 3. Nov 2011, 07:25
Delphi-Quellcode:
on e:Exception do
  Application.MessageBox(PChar('Es trat ein Fehler auf:'+sLineBreak+e.Message), 'Fehler', 16);
Markus Kinzler
  Mit Zitat antworten Zitat
Alex.G

Registriert seit: 30. Aug 2011
31 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Exception abfangen und ausgeben funktioniert nicht

  Alt 3. Nov 2011, 07:27
Super, funktioniert! Danke für die schnellen Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Exception abfangen und ausgeben funktioniert nicht

  Alt 3. Nov 2011, 07:28
Achja, und e.Message ist wohl auch ein String IIRC, von daher geht es sowieso nicht ohne Cast. Wozu eigentlich die 16 und nicht die dafür vorgesehene Konstante? Die würde den Code bedeutend lesbarer machen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz