AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein In nonVCL Fehler / Exceptions abfangen ?
Thema durchsuchen
Ansicht
Themen-Optionen

In nonVCL Fehler / Exceptions abfangen ?

Ein Thema von turboPASCAL · begonnen am 1. Nov 2009 · letzter Beitrag vom 1. Nov 2009
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#11

Re: In nonVCL Fehler / Exceptions abfangen ?

  Alt 1. Nov 2009, 18:04
Offtropic
Oh, danke für das Angebot.
Ich nutze da lieber TP 5 oder BP 7 oder Turbo Pascal für Windows.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: In nonVCL Fehler / Exceptions abfangen ?

  Alt 1. Nov 2009, 18:49
Seit wann braucht man fürs Exception-Handliung die Sysutils? Die Sysutils organisiert die Exceptions nur auf Ebene der OOP. Baut also eine Klasse um die Exception und Rekonstruiert dieses Objekt im Except-Block (oder erstellt sogar eins, wenn es eine externe Excpetion war).

Try-except sollte immer funktionieren, allerdings nur mit Sysutils kann man die Exception-Klasse nutzen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#13

Re: In nonVCL Fehler / Exceptions abfangen ?

  Alt 1. Nov 2009, 19:23
Zitat von sirius:
Try-except sollte immer funktionieren...
Hmm...
Delphi-Quellcode:
program ExceptionTest;
{$APPTYPE CONSOLE}
Var
  a,b : Integer;

begin
  a := 1;
  b := 0;
  Try
    a := a div b;
  Except
    writeln('Except geht');
  End;
  WriteLn(a); // Damit die Division nicht noch wegoptimiert wird.
end.
Ich müsste also 'Except geht' sehen. Leider hängt sich das Programm auf bzw. terminiert nicht.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: In nonVCL Fehler / Exceptions abfangen ?

  Alt 1. Nov 2009, 19:24
Zitat von sirius:
Seit wann braucht man fürs Exception-Handliung die Sysutils?
Also, das Exception-Object und andere Dinge sind in der SysUtils definiert und initialisiert.

Und ohne eine Behandlung von Exceptions führen dieses zum sofortigen Programmabbruch.


Vielleicht hilft der Anhang etwas.


Der Debugger bekommt von den Exceptions was mit, aber ansonsten hab ich wohl irgendwo 'nen Fehler,
denn die Exceptions werden leider nicht angezeigt.

siehe #21 ... die Exceptions werden doch angezeigt

Außerdem drehen einige Debugger durch.
Das liegt wohl daran, daß dieses Exception-Objekt anders ist, als sie es kennen.
Es wird nach der Exception zwar ordnungsgemäß weitergearbeitet, aber z.B. D2009 hört da mit dem Debuggen auf und das Programm läuft einfach so weiter.
In D7 geht dieses aber.


PS: die Exceptions sind CL ... haben ja direkt nicht mit der VisualCodeLibrary zu tun
Angehängte Dateien
Dateityp: 7z smallexceptions_703.7z (2,6 KB, 6x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#15

Re: In nonVCL Fehler / Exceptions abfangen ?

  Alt 1. Nov 2009, 19:25
Ohne die Sysutils wird aber das except komplett übersprungen und es ploppt
das "Runtimeerror at 0815xx" auf.

Kannst du ja mit obigen Beispiel ausprobieren.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#16

Re: In nonVCL Fehler / Exceptions abfangen ?

  Alt 1. Nov 2009, 19:42
Zitat von himitsu:
Außerdem drehen einige Debugger durch.
Das liegt wohl daran, daß dieses Exception-Objekt anders ist, als sie es kennen.
Naja, lieber die Debugger als ich.

Mir wäre halt wichtig das man im except-Block den Fehler loggen kann oder einen validierten Wert zu weisen kann.

Dein Demo kann ich leider noch nicht testen, SAccessViolationNoArg und einige Andere sind D6 wohl unbekannt.
Mal sehen...
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: In nonVCL Fehler / Exceptions abfangen ?

  Alt 1. Nov 2009, 19:47
bei dieser Konstannte kannst'e im Notfall erstmal einfach die ' drumrummachen

'SAccessViolationNoArg' Nja, es ist halt so einiges mit der Zeit dazugekommen, umbenannt wurden oder es wurde umgelagert.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#18

Re: In nonVCL Fehler / Exceptions abfangen ?

  Alt 1. Nov 2009, 19:52
Jo, passt schon.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#19

Re: In nonVCL Fehler / Exceptions abfangen ?

  Alt 1. Nov 2009, 20:25
Zitat von himitsu:
Also, das Exception-Object und andere Dinge sind in der SysUtils definiert und initialisiert.
Habe ich ja geschrieben.

Zitat von himitsu:
Und ohne eine Behandlung von Exceptions führen dieses zum sofortigen Programmabbruch.
"Ohne Behandlung" ist die falsche Wortwahl, denn einen Except-Block hat TP ja angegeben. Das Problem ist nur (was ich vorhin noch nicht wusste), das Delphi auf Teufel komm raus aus jeder Exception ein Exceptionobjekt bauen will, was man dann im Except-Block abfragen und auswerten kann. Und wenn Delphi kein Objekt zustande bekommt, dann beendet Delphi einfach das ganze Programm, was recht radikal ist (denn hier wertet TP bspw. gar kein Exceptionobjekt aus und bräuchte es nicht einmal).
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: In nonVCL Fehler / Exceptions abfangen ?

  Alt 1. Nov 2009, 20:36
Nja ... Try-Except hat er vielleicht, aber deswegen werden die Exceptions nicht "behandelt",

bzw. wenn nichts Anderes in der Unit System angegeben ist, dann leitet diese die Exceptions direkt an Windows weiter MSDN-Library durchsuchenRaiseException und dieses reagiert dann so
Zitat:
the default action is to call the ExitProcess function.
Obwohl ... müßte man Hagen oder Olly mal fragen ... ich glaub Try-Except war 'nen "frame-based handler"?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 02:42 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