bool trajEgejn = false;
do
{
try
{
SkomplikowanaKlasa coś = BardzoSkomplikowanaMetoda();
if (this.CheckCoś(coś))
{
Console.WriteLine("ok");
return true;
}
else
{
Console.WriteLine("dupa");
if (!this.SpróbujNaprawićDupę(jakieś parametry))
{
return false;
}
else
{
trajEgejn = true;
}
}
}
catch (BardzoZłyWyjątek)
{
Console.WriteLine("dupa");
if (!this.SpróbujNaprawićDupę(jakieś parametry))
{
return false;
}
else
{
trajEgejn = true;
}
}
} while(trajEgejn);
Mam jakieś zaćmienie umysłu... Da się jakoś sensownie pozbyć powielenia tego kodu?