### Question:
Jdbi implements Configurable<Jdbi> { public static Jdbi create(Connection connection) { return create(new SingleConnectionFactory(connection)); } private  Jdbi(ConnectionFactory connectionFactory); static Jdbi create(Connection connection); static Jdbi create(DataSource dataSource); static Jdbi create(ConnectionFactory connectionFactory); static Jdbi create(final String url); static Jdbi create(final String url, final Properties properties); static Jdbi create(final String url, final String username, final String password); static Handle open(DataSource dataSource); static Handle open(ConnectionFactory connectionFactory); static Handle open(final Connection connection); static Handle open(final String url); static Handle open(final String url, final String username, final String password); static Handle open(final String url, final Properties props); Jdbi installPlugins(); Jdbi installPlugin(JdbiPlugin plugin); Jdbi setStatementBuilderFactory(StatementBuilderFactory factory); StatementBuilderFactory getStatementBuilderFactory(); @Override ConfigRegistry getConfig(); Jdbi setTransactionHandler(TransactionHandler handler); TransactionHandler getTransactionHandler(); Handle open(); R withHandle(HandleCallback<R, X> callback); void useHandle(final HandleConsumer<X> consumer); R inTransaction(final HandleCallback<R, X> callback); void useTransaction(final HandleConsumer<X> callback); R inTransaction(final TransactionIsolationLevel level, final HandleCallback<R, X> callback); void useTransaction(final TransactionIsolationLevel level, final HandleConsumer<X> callback); R withExtension(Class<E> extensionType, ExtensionCallback<R, E, X> callback); void useExtension(Class<E> extensionType, ExtensionConsumer<E, X> callback); E onDemand(Class<E> extensionType);  }### Answer:
@Test public void testCorrectExceptionOnSQLException() { Jdbi db = Jdbi.create(() -> { throw new SQLException(); }); assertThatThrownBy(db::open).isInstanceOf(ConnectionException.class); }