Einzelnen Beitrag anzeigen

Rabenrecht

Registriert seit: 9. Dez 2016
79 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

C# try catch Probleme

  Alt 30. Jun 2017, 14:15
Ich stehe da grad etwas aufm Schlauch:

Code:
[...]
SearchResultCollection results = searcher.FindAll();

//dostuff
[...]

results.Dispose();
Um searcher.FindAll(); würde ich gernen nen try catch Block legen, weil da allerhand passieren kann. Ich kriege es aber irgendwie nicht hin, dass ich am Ende noch results.Dispose(); aufrufen kann.
Ist wahrscheinlich ne einfache Sache, aber ich kenne mich in C# noch praktisch gar nicht aus.

Versucht habe ich folgendes:

Code:
try
{
   SearchResultCollection results = searcher.FindAll();

   //dostuff
   [...]
}
catch (Exception ex) //
{
   return ex.Message;
}
finally
{
   results.Dispose();
}
Klappt nicht, weil results nur im try-Block selbst gültig ist.

Code:
SearchResultCollection results;
try
{
   results = searcher.FindAll();

   //dostuff
   [...]
}
catch (Exception ex) //
{
   return ex.Message;
}
finally
{
   results.Dispose();
}
Da gibt's die Meldung "Verwendung der nicht zugewiesenen Variable 'results' "

Aber wenn ich es noch anders anordne, wird results.Dispose(); bei nem Fehlerfall nicht aufgerufen.

Was übersehe ich da?
  Mit Zitat antworten Zitat