Java: How to @SuppressWarnings unreachable code?

Mohammad Moghimi picture Mohammad Moghimi · May 17, 2011 · Viewed 9.2k times · Source

Sometimes when you are debugging, you have unreachable code fragment. Is there anyway to suppress the warning?

Answer

Lawrence Dol picture Lawrence Dol · May 17, 2011

Java has (primitive) support for debugging like this in that simple if on boolean constants will not generate such warnings (and, indeed when the evaluation is false the compiler will remove the entire conditioned block). So you can do:

if(false) {
    // code you don't want to run
    }

Likewise, if you are temporarily inserting an early termination for debugging, you might do it like so:

if(true) { return blah; }

or

if(true) { throw new RuntimeException("Blow Up!"); }

And note that the Java specification explicitly declares that constantly false conditional blocks are removed at compile time, and IIRC, constantly true ones have the condition removed. This includes such as:

public class Debug
{
static public final boolean ON=false;
}

...

if(Debug.ON) {
    ...
    }