How do I "break" out of an if statement? [closed]
Solution 1:
Nested ifs:
if (condition)
{
// half-massive amount of code here
if (!breakOutCondition)
{
//half-massive amount of code here
}
}
At the risk of being downvoted -- it's happened to me in the past -- I'll mention that another (unpopular) option would of course be the dreaded goto
; a break statement is just a goto in disguise.
And finally, I'll echo the common sentiment that your design could probably be improved so that the massive if statement is not necessary, let alone breaking out of it. At least you should be able to extract a couple of methods, and use a return:
if (condition)
{
ExtractedMethod1();
if (breakOutCondition)
return;
ExtractedMethod2();
}
Solution 2:
if (test)
{
...
goto jmp;
...
}
jmp:
Oh why not :)
Solution 3:
You probably need to break up your if statement into smaller pieces. That being said, you can do two things:
wrap the statement into
do {} while (false)
and use realbreak
(not recommended!!! huge kludge!!!)put the statement into its own subroutine and use
return
This may be the first step to improving your code.
Solution 4:
I don't know your test conditions, but a good old switch
could work
switch(colour)
{
case red:
{
switch(car)
{
case hyundai:
{
break;
}
:
}
break;
}
:
}
Solution 5:
There's always a goto
statement, but I would recommend nesting an if
with an inverse of the breaking condition.