try{ //Open the Database } catch (SQLException e) { //this catches a SQL Server problem that expected to catch //you can view error informatino with e }You see here, you're only catching a specific exception, not any exception. Say this was in a method in a class, that was called by your main application somewhere along the line:
try { //call teh open database class and method } catch (Exception e) { //Now I've caught any exception that occured in managed resources //and have information about that exception with the e parameter }If an error other than your SQL exception occurs when opening the database, this catch statement higher up in the call stack shoudl catch it. And in fact, when you catch teh SQL Exception, you can even throw another exception from that catch loop and it should make it back up to the higher level.