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.
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.