The Unreachable statements refers to statements that won’t get executed during the execution of the program are called Unreachable Statements. These statements might be unreachable because of the following reasons:
- Have a return statement before them
- Have an infinite loop before them
- Any statements after throwing exception in a try block
Scenarios where this error can occur:
- Have a return statement before them: When a return statement gets executed, then that function execution gets stopped right there. Therefore any statement after that wont get executed. This results in unreachable code error.
Example:
prog.java:11: error: unreachable statement
System.out.println("I want to get printed");
^
1 error
- Have an infinite loop before them: Suppose inside "if" statement if you write statements after break statement, then the statements which are written below "break" keyword will never execute because if the condition is false, then the loop will never execute. And if the condition is true, then due to "break" it will never execute, since "break" takes the flow of execution outside the "if" statement.
Example:
- Compile Errors:
prog.java:13: error: unreachable statement
System.out.println("I want to get printed");
^
1 error
- Any statement after throwing an exception: If we add any statements in a try-catch block after throwing an exception, those statements are unreachable because there is an exceptional event and execution jumps to catch block or finally block. The lines immediately after the throw is not executed.
Example:
prog.java:7: error: unreachable statement
System.out.println("Hello");
^
1 error
- Any statement after writing continue : If we add any statements in a loop after writing the continue keyword, those statements are unreachable because execution jumps to the top of the for loop. The lines immediately after the continue is not executed.
Example: