Win a copy of Learning OpenStack Networking: Build a solid foundation in virtual networking technologies for OpenStack-based clouds this week in the Cloud/Virtualization forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Liutauras Vilda
  • Campbell Ritchie
  • Tim Cooke
  • Bear Bibeault
  • Devaka Cooray
Sheriffs:
  • Jeanne Boyarsky
  • Knute Snortum
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Ganesh Patekar
  • Stephan van Hulst
  • Pete Letkeman
  • Carey Brown
Bartenders:
  • Tim Holloway
  • Ron McLeod
  • Vijitha Kumara

Connection Objects & Scope  RSS feed

 
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all,

I'm doing the Sun JDBC tutorial and am confused on something.
If I declare a Connection object outside of a try/catch block, shouldn't the connection be valid outside of the try/catch block in which it is actually initialized?

I'm getting a 'variable con might not have been initialized' error. Does this mean that I have to enclose everything in a giant try/catch block?
The code works if I put the 'con=DriverManger.getConnection( url )' inside of the 2nd try block, but that can't be efficient. Opening a connection everytime to do a query?


Thanks.

[ June 18, 2004: Message edited by: elam daly ]
[ June 18, 2004: Message edited by: elam daly ]
 
Ranch Hand
Posts: 331
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

'variable con might not have been initialized'


The variable con is accessible outside of the try/catch but the compiler is smart enough to recognize that it is possible that con might never be assigned a value, not even null. Local variables are not automatically null like instance variables.
The easiest thing to address that is to change

to

The difference is subtle but this ensures that con is definitely assigned some value before it is used again, and therefore makes the compiler happy.
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!