The goto-less goto!
Alternate 8, why not just do this:bool bFailed = true;// In case of an exception.try{ // while bFailed while (bFailed) { // do something here. if (condition1) { // exit the loop (goto) bFalse = false; ...
Alternate 8, why not just do this:
bool bFailed = true;
// In case of an exception.
try
{
// while bFailed
while (bFailed)
{
// do something here.
if (condition1)
{
// exit the loop (goto)
bFalse = false;
break;
}
// do something here.
// ....
// In case you want to goto to the top instead of exit.
if (condition2)
{
// jump to top of the loop. (goto)
continue;
}
// Success.
bFailed = false;
}
}
catch (...)
{
// this assumes you want to catch all.
}
if (bFailed)
{
// do your error cleanup here.
}
// do your unconditional cleanup here.