} catch (InstantiationException e) {    lastError = e; } catch (IllegalAccessException e) {
    DatabaseObject(String driverName) {        this.driverName = driverName;        try {            Class driverClass = Class.forName(driverName);            if (!Driver.class.isAssignableFrom(driverClass)) {                // System.err.println("##Bad class " + driverClass);                lastError = new RuntimeException("Class " + driverClass + " is not a JDBC driver");            }            driverClass.newInstance(); // may be needed by some drivers, harmless for others        } catch (ClassNotFoundException e) {            // System.err.println("##Cannot find driver class: " + e);            // e.printStackTrace();            lastError = e;        } catch (InstantiationException e) {            // System.err.println("##Cannot instantiate driver class: " + e);            // e.printStackTrace();            lastError = e;        } catch (IllegalAccessException e) {            // ignore as this may happen depending on driver, it may not be severe            // for example because the instance was created at class initialization time        }        driverOK = true;    }