Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Auf 'ABC zugewiesener Wert wird niemals benutzt (https://www.delphipraxis.net/191290-auf-abc-zugewiesener-wert-wird-niemals-benutzt.html)

a.def 29. Dez 2016 17:48

Auf 'ABC zugewiesener Wert wird niemals benutzt
 
Kurze Zwischenfrage bitte.
Ich benutze seit Kurzem eine Thread-sichere Stringlist.
Dort drin gibt es Abschnitte wie diesen hier
Delphi-Quellcode:
function TThreadStringList.Add(const S: string): Integer;
begin
 Result := -1;

 LockList;
 try
  Result := FStringList.Add(S);
 finally
  UnlockList;
 end;
end;
Bei Result := -1; meckert der Compiler selbstverständlich, dass der zugewiesene Wert niemals benutzt wird.
Wie bekomme ich diese Meldung weg, ohne {$WARNINGS OFF} verwenden zu müssen?
Wenn ein Eintrag in die Liste geschrieben wird, wird der entsprechende Index zurückgeliefert. Daher frage ich mich, wieso da überhaupt -1 zugewiesen wird.

nahpets 29. Dez 2016 17:57

AW: Auf 'ABC zugewiesener Wert wird niemals benutzt
 
Einfach die Zeile entfernen.

Oder
Delphi-Quellcode:
function TThreadStringList.Add(const S: string): Integer;
begin
 LockList;
 try
  try
    Result := FStringList.Add(S);
  except
   on e : Exception do begin
     // Bei Bedarf weitere Fehlerbehandlung.
     Result := -1;
   end;
  end;
 finally
  UnlockList;
 end;
end;

himitsu 29. Dez 2016 23:38

AW: Auf 'ABC zugewiesener Wert wird niemals benutzt
 
Wenn es eine Exception gibt, dann gibt es auch kein Result. (das wird quasi verworfen)
Try-Finally fängt keine Exceptions ab, womit die Funktion demnach abraucht.

Also entweder es knallt und das Result ist egal
oder der Code kommt immer bei beiden
Delphi-Quellcode:
Result := ...;
vorbei, womit die erste Zuweisung folglich niemals verwendet wird. :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08: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