File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Beginning Java and the fly likes Unreachable Statement Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Unreachable Statement" Watch "Unreachable Statement" New topic
Author

Unreachable Statement

Benjamin Thvedt
Ranch Hand

Joined: Jul 29, 2011
Posts: 31
I am having a little trouble figuring this one out. Basically, I am reading Head First Java and I am trying to write a method that
gets some user input, but if the user input doesn't match one of the Strings in an ArrayList, then to return "invalid". I am just a beginner, so the code closely resembles the code given in chapter 5 of the book for getting user input.



basically, this won't compile and it says that the first "return "invalid"" line is unreachable.. I'ts a problem I can get around, but I was just wondering why the compiler thinks this is unreachable. I mean, it's just a simple if/else, right? If I get rid of the second return invalid line, it complies fine though. Not a big problem, just trying to understand how the method is compiling. Shouldn't it not care that there are two lines that say return "invalid"? If that makes any sense.
Seetharaman Venkatasamy
Ranch Hand

Joined: Jan 28, 2008
Posts: 5575

the compiler is smart enough to recognize one of the return statement in if-else must be execute! so the statements after else block can not be reached thus the compiler throw an error!

use decompiler for below code. you can get some light!

Sathi Krishna
Ranch Hand

Joined: Oct 21, 2007
Posts: 51

You have to remove the else block or you have to comment the last return statement.(line#26)

H Jetly
Ranch Hand

Joined: Aug 26, 2010
Posts: 41

This is because the code will terminate in the if or the else statement, it will never go beyond the else block. Hence unreachable.


For eg if you change the else with an else if (something) you can write the last return "invalid"



Harsh Jetly
Rob Spoor
Sheriff

Joined: Oct 27, 2005
Posts: 19680
    
  19

Benjamin, what compiler are you using? Because with Oracle's JDK 1.6.0_26 on my system, it's the second return "invalid";" statement that's causing the error, not the first.


SCJP 1.4 - SCJP 6 - SCWCD 5 - OCEEJBD 6
How To Ask Questions How To Answer Questions
Seetharaman Venkatasamy
Ranch Hand

Joined: Jan 28, 2008
Posts: 5575

Rob Spoor wrote:Benjamin, what compiler are you using? Because with Oracle's JDK 1.6.0_26 on my system, it's the second return "invalid";" statement that's causing the error, not the first.

Indeed! for me too .
Benjamin Thvedt
Ranch Hand

Joined: Jul 29, 2011
Posts: 31
I'm using the JDK 1.7.0. Just got it! Anyway, this just had me scratching my head is all. What's weird is I just tried it again, and it compiles fine now...same code and everything! Really strange. (Ofc I added the approperate import statements, but I think other than that it is the same code word for word..) I have no idea.
 
Don't get me started about those stupid light bulbs.
 
subject: Unreachable Statement