public static <T extends Throwable> void checkState(final boolean expectedExpression, final Supplier<T> exceptionSupplierIfUnexpected) throws T {
        if (!expectedExpression) {
            throw exceptionSupplierIfUnexpected.get();
        }
    }
@Test
    void assertCheckStateToThrowsException() {
        assertThrows(SQLException.class, () -> ShardingSpherePreconditions.checkState(false, SQLException::new));
    }