class SQLException extends Exception implements Iterable<Throwable> {

    @Override
    public Iterator<Throwable> iterator() {
        return new SQLExceptionIterator(this);
    }

    public  SQLException(String message, @Nullable String sqlState, int errorCode);
    public  SQLException(String message, @Nullable String sqlState);
    public  SQLException(String message);
    public  SQLException();
    public  SQLException(@Nullable Throwable cause);
    public  SQLException(String message, @Nullable Throwable cause);
    public  SQLException(String message, @Nullable String sqlState, @Nullable Throwable cause);
    public  SQLException(String message, @Nullable String sqlState, int errorCode,
            @Nullable Throwable cause);

}