65.9K
CodeProject is changing. Read more.
Home

The goto-less goto!

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0 vote)

Feb 1, 2011

CPOL
viewsIcon

7032

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.