Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Geht auch try...finally....except? (https://www.delphipraxis.net/44531-geht-auch-try-finally-except.html)

Speedmaster 20. Apr 2005 16:04

Re: Geht auch try...finally....except?
 
So:
Delphi-Quellcode:
program Programmumfasend;

begin
  try

  except

  end;
end.

Binärbaum 20. Apr 2005 16:05

Re: Geht auch try...finally....except?
 
Zitat:

Zitat von Speedmaster
Wie ist das eigenltich verlangsamt sich das Programm auch( sehr ) wenn ich eine Programmumfassende try..except..end Anweisung Einfüge?

IMHO würde das kaum einen großen Unterschied machen, ob man nur einige Zeilen oder fast den gesamten Code mit try...except/finally umgibt. Allerdings wenn es mehrere Blöcke sind....

Dennoch würde ich nur dazu raten, solchen Code in try..except/finally zu kapseln, wo auch wirklich eine Exeption abgefangen werden muss.

MfG
Binärbaum

Speedmaster 20. Apr 2005 16:07

Re: Geht auch try...finally....except?
 
Naja ich weiss nicht ob das nicht Sinnvoll wäre es doch so zu machen, da ja bald( 2006 ) der Cell Processor rauskommt wird die Geschwindigkeit weniger ein Problem sein, allerdings hat man dann ein Programm was Praktisch "ohne Fehler" läuft( B.z.w. sie werden alle abgefangen ).

Tyrael Y. 20. Apr 2005 16:10

Re: Geht auch try...finally....except?
 
Zitat:

Zitat von Speedmaster
So:
Delphi-Quellcode:
program Programmumfasend;

begin
  try

  except

  end;
end.

Das Problem dabei wäre auch, daß du deine Exceptions nicht vernünftig behandlen kannst, da du nicht weisst woher sie kommen und wenn du auch wüsstest woher sie kommen, dann sind diese Objekte z.B. in dieser Unit nicht bekannt...

Den Except-Block immer um eine mögliche Fehlerquelle setzen und dort auch behandeln, dann liegts du immer richtig und wenn es nötig ist, die Exception raisen und beim nächsten darüber leigenden Except-Block behandeln...


mfg

Edit:

PS: Zur Geschwindigkeit

Die Geschwindigkeit wird nciht großartig beeinträchtigt, solange du nicht im Except-Block zeitaufwendige sachen machst

mit Except-Block meine ich diese Stelle..

Delphi-Quellcode:
try
...
except
  <--- Hier
end;

freak4fun 20. Apr 2005 16:11

Re: Geht auch try...finally....except?
 
Wenn du dein ganzes programm in try ... except ... end; setzt fürht ein Fehler am Anfang dazu, dass das ganze restliche Programm abgebrochen wird. Wenn du nur die unsicheren Stellen in einen Block setzt kann das restliche Programm noch weiterlaufen. Ich denke es kommt auf die Situation an.

MfG
freak

Binärbaum 20. Apr 2005 16:14

Re: Geht auch try...finally....except?
 
Zitat:

Zitat von Speedmaster
Naja ich weiss nicht ob das nicht Sinnvoll wäre es doch so zu machen, da ja bald( 2006 ) der Cell Processor rauskommt wird die Geschwindigkeit weniger ein Problem sein, allerdings hat man dann ein Programm was Praktisch "ohne Fehler" läuft( B.z.w. sie werden alle abgefangen ).

Zwei Gegenargumente:
1. Es wird wohl kaum jeder diesen Prozessor haben/kaufen wollen.
2. Es sollte garnicht erst dazu kommen, dass Fehler abgefangen werden müssen. Das kann man z.B. durch eine Beschränkung der zulässigen Eingabewerte erreichen. Und wenn eine Exception abgefangen wird, wird der Code nach der Exception garnicht mehr ausgefürt, da sofort in den except-Teil gesprungen wird. Und wenn der fehler schon in den ersten Zeilen des Codes auftritt, ist der Rest quasi für die Katz.

MfG
Binärbaum

Speedmaster 20. Apr 2005 16:15

Re: Geht auch try...finally....except?
 
Nicht umbedingt, wenn du die Exceptions selber auslößt und erstellst( Gibt zwar viele exceptions dann aber egal ) hast du bei Vernünftigem Code doch eine recht gute Übersicht über die Fehlerquelle!

Um das Programm weiterlaufen zu lassen gibt es ja auch noch die Möglichkeit an bestimmten Stellen zusätzliche Blöcke zu setzen, oder das ganze in eine While Schleife zu Packen. Solange du die Variablen nicht Freigibst sind die Aktuellen Programmvariablen auch noch erhalten!

@Binärbaum: Warum sollte niemand den Prozessor kaufen wollen??

sECuRE 20. Apr 2005 16:16

Re: Geht auch try...finally....except?
 
Hi,

Zitat:

Zitat von Speedmaster
Naja ich weiss nicht ob das nicht Sinnvoll wäre es doch so zu machen, da ja bald( 2006 ) der Cell Processor rauskommt wird die Geschwindigkeit weniger ein Problem sein, allerdings hat man dann ein Programm was Praktisch "ohne Fehler" läuft( B.z.w. sie werden alle abgefangen ).

Hehehe. Sag sowas nicht. Nicht jeder wird auf 'nen Cell umsteigen. Und wenn du jetzt schon gut und performant programmierst, wird es auf 'nem Cell-Prozessor NOCH schneller laufen. Think positive ;)

cu

Speedmaster 20. Apr 2005 16:18

Re: Geht auch try...finally....except?
 
Kann hier jemand sagen wie gross der Geschwindigkeitsverlust ist?

Binärbaum 20. Apr 2005 16:19

Re: Geht auch try...finally....except?
 
Zitat:

Zitat von Speedmaster
@Binärbaum: Warum sollte niemand den Prozessor kaufen wollen??

War etwas ungünstig ausgedrückt, aber das meinte ich nicht damit. Es war eher so gemeint, wie es auch im Beitrag von sECuRe angeklungen ist.
Nicht jeder wird sofort auf Cell umsteigen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:24 Uhr.
Seite 2 von 3     12 3      

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