If you try to get a Time value out of an INTEGER column, the client driver gives this error. I believe that similar nonsense comes back when you try other mismatched getters on other datatypes:
"An attempt was made to get a data value of type 'java.sql.Types 4' from a data value of type 'java.sql.Time'."
The exception is a java.sql.SQLDataException with SQLState 22005. The embedded driver returns a better message:
"An attempt was made to get a data value of type 'java.sql.Time' from a data value of type INTEGER'."
I recommend two improvements to the utility method which generates these exceptions:
1) Flip the order of the type names.
2) Use the ResultSetMetaData to look up the source data type name.