Two Laptop Bag
The moose likes Java in General and the fly likes missing return statement error Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "missing return statement error" Watch "missing return statement error" New topic

missing return statement error

Megha Singhal
Ranch Hand

Joined: Feb 28, 2012
Posts: 225

in following program

i am getting following error

javac -d ../ missing return statement

[Edit - fixing page width]
Martin Vajsar

Joined: Aug 22, 2010
Posts: 3733

When I try to compile your code, I don't get any compiler errors. It seems to me that you're compiling a file which differs from the one you've posted here.

If you use an IDE for your work, I'd suggest to reformat your code, as it is very unclear in its current form.

Anyway, there are some other issues with your current code:

* You're using generic raw types (eg. List instead of List<String>). This tutorial might help you to use generics better.

* The SQL statement stored in variable query is syntactically incorrect.

* You're throwing an Exception. It would be better to throw some more specific exception, for details, see this.

* In your catch clause, you're printing the stack trace (which is good), but then allow your code to return the list.
When an exception happens, the caller of your method won't know about it and will process the returned list as if no error occurred.
You should throw an exception from the inside of your catch clause. The previous link contains some details on this too.
Rob Spoor

Joined: Oct 27, 2005
Posts: 20276

Megha, your example shows how problematic it can be to trouble shoot code that does not have consistent indentation. I've changed the indentation in your code to always use 4 spaces, and it does show that the only return statement is exactly at the end of the method. I too get no compiler error.

One piece of advice though - do not use OracleDataSource, but instead use javax.sql.DataSource. It's the interface that OracleDataSource implements, but using this allows you to switch to a different database system without having to change your code, only your configuration.

How To Ask Questions How To Answer Questions
I agree. Here's the link:
subject: missing return statement error
It's not a secret anymore!