When the execution of a database-side method raises an error, Derby wraps that exception in an SQLException with an SQLState of 38000. You can avoid having Derby wrap the exception if:
(This conforms to the SQL99 standard.)