Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#21

Re: wie funktioniert try except

  Alt 30. Mai 2009, 20:55
Dass die relevanten Source-Teile identisch waren, das hat auch keiner gemerkt.

Zitat von Original:
Zitat von Hansa:
Das kommt davon, wenn man alles ignoriert und nur guckt, dass es läuft. Egal wie. 8)

Keiner hat das zur Kenntnis genommen :

Zitat:
[Hinweis] Unit1.pas(30): Auf 'a' zugewiesener Wert wird niemals benutzt
[Hinweis] Unit1.pas(28): Auf 'b' zugewiesener Wert wird niemals benutzt
stammt von hier :

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var a,b:integer;
begin
  b := 0;
  try
    a := 1 div 0;
(*
    ShowMessage(inttostr(a)); //Hier wird auf a zugegriffen, daher keine Optimierung
    ShowMessage(inttostr(b)+' Kein Fehler')
*)

  except
    ShowMessage('Fehler')
  end;
end;
Leute, die so was permanent ignorieren, denen sollte der Delphi-Compiler besser die Arbeit verweigern, anstatt das selbst auch noch zu ignorieren. Für Testzwecke ist das vielleicht noch hinzunehmen, irgendwelche überflüssigen Variablen zu haben, aber der Normalfall sollte das nicht sein.

Das hier z.B. wird NICHT compiliert :

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var a,b:integer;
begin
  b := 0;
  try
    a := 1 div 0;
Zitat:
[Fehler] Unit1.pas(30): Division durch Null
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
Edit :

Zugriff auf a oder b geschieht auch hier nicht :

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var a,b:integer;
begin
  b := 0;
  try
    a := 1 div 0;
(*
    ShowMessage(inttostr(a)); //Hier wird auf a zugegriffen, daher keine Optimierung
    ShowMessage(inttostr(a)+' Kein Fehler')
*)

  except
    ShowMessage('Fehler')
  end;
end;
KORREKTUR :

Das kommt davon, wenn man alles ignoriert und nur guckt, dass es läuft. Egal wie. 8)

Keiner hat das zur Kenntnis genommen :

Zitat:
[Hinweis] Unit1.pas(30): Auf 'a' zugewiesener Wert wird niemals benutzt
[Hinweis] Unit1.pas(28): Auf 'b' zugewiesener Wert wird niemals benutzt
stammt von hier :

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var a,b:integer;
begin
  b := 0;
  try
    a := 1 div 2; // vorher stand hier : a := 1 div 0;
(*
    ShowMessage(inttostr(a)); //Hier wird auf a zugegriffen, daher keine Optimierung
    ShowMessage(inttostr(b)+' Kein Fehler')
*)

  except
    ShowMessage('Fehler')
  end;
end;
Leute, die so was permanent ignorieren, denen sollte der Delphi-Compiler besser die Arbeit verweigern, anstatt das selbst auch noch zu ignorieren. Für Testzwecke ist das vielleicht noch hinzunehmen, irgendwelche überflüssigen Variablen zu haben, aber der Normalfall sollte das nicht sein.

Das hier z.B. wird NICHT compiliert :

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var a,b:integer;
begin
  b := 0;
  try
    a := 1 div 0;
Zitat:
[Fehler] Unit1.pas(30): Division durch Null
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
Edit :

Zugriff auf a oder b geschieht auch hier nicht :

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var a,b:integer;
begin
  b := 0;
  try
    a := 1 div 0;
(*
    ShowMessage(inttostr(a)); //Hier wird auf a zugegriffen, daher keine Optimierung
    ShowMessage(inttostr(a)+' Kein Fehler')
*)

  except
    ShowMessage('Fehler')
  end;
end;
Gruß
Hansa
  Mit Zitat antworten Zitat