提交 3ad7a145 authored 作者: Evgenij Ryazanov's avatar Evgenij Ryazanov

Use static import in DbException

上级 16c4500c
...@@ -21,6 +21,8 @@ Change Log ...@@ -21,6 +21,8 @@ Change Log
<h2>Next Version (unreleased)</h2> <h2>Next Version (unreleased)</h2>
<ul> <ul>
<li>PR #1409: Map all remaining error codes to custom exception classes
</li>
<li>Issue #1407: Add a MODE() aggregate function <li>Issue #1407: Add a MODE() aggregate function
</li> </li>
<li>PR #1402: Duplicate conditions in column check constraint <li>PR #1402: Duplicate conditions in column check constraint
......
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
*/ */
package org.h2.message; package org.h2.message;
import static org.h2.api.ErrorCode.*;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.PrintStream; import java.io.PrintStream;
...@@ -18,7 +20,6 @@ import java.util.Locale; ...@@ -18,7 +20,6 @@ import java.util.Locale;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.Properties; import java.util.Properties;
import org.h2.api.ErrorCode;
import org.h2.engine.Constants; import org.h2.engine.Constants;
import org.h2.jdbc.JdbcException; import org.h2.jdbc.JdbcException;
import org.h2.jdbc.JdbcSQLDataException; import org.h2.jdbc.JdbcSQLDataException;
...@@ -55,7 +56,7 @@ public class DbException extends RuntimeException { ...@@ -55,7 +56,7 @@ public class DbException extends RuntimeException {
private static final Properties MESSAGES = new Properties(); private static final Properties MESSAGES = new Properties();
public static final SQLException SQL_OOME = public static final SQLException SQL_OOME =
new SQLException("OutOfMemoryError", "HY000", ErrorCode.OUT_OF_MEMORY, new OutOfMemoryError()); new SQLException("OutOfMemoryError", "HY000", OUT_OF_MEMORY, new OutOfMemoryError());
private static final DbException OOME = new DbException(SQL_OOME); private static final DbException OOME = new DbException(SQL_OOME);
private Object source; private Object source;
...@@ -223,7 +224,7 @@ public class DbException extends RuntimeException { ...@@ -223,7 +224,7 @@ public class DbException extends RuntimeException {
*/ */
public static DbException getSyntaxError(String sql, int index) { public static DbException getSyntaxError(String sql, int index) {
sql = StringUtils.addAsterisk(sql, index); sql = StringUtils.addAsterisk(sql, index);
return get(ErrorCode.SYNTAX_ERROR_1, sql); return get(SYNTAX_ERROR_1, sql);
} }
/** /**
...@@ -237,8 +238,7 @@ public class DbException extends RuntimeException { ...@@ -237,8 +238,7 @@ public class DbException extends RuntimeException {
public static DbException getSyntaxError(String sql, int index, public static DbException getSyntaxError(String sql, int index,
String message) { String message) {
sql = StringUtils.addAsterisk(sql, index); sql = StringUtils.addAsterisk(sql, index);
return new DbException(getJdbcSQLException(ErrorCode.SYNTAX_ERROR_2, return new DbException(getJdbcSQLException(SYNTAX_ERROR_2, null, sql, message));
null, sql, message));
} }
/** /**
...@@ -252,7 +252,7 @@ public class DbException extends RuntimeException { ...@@ -252,7 +252,7 @@ public class DbException extends RuntimeException {
*/ */
public static DbException getSyntaxError(int errorCode, String sql, int index, String... params) { public static DbException getSyntaxError(int errorCode, String sql, int index, String... params) {
sql = StringUtils.addAsterisk(sql, index); sql = StringUtils.addAsterisk(sql, index);
String sqlstate = ErrorCode.getState(errorCode); String sqlstate = getState(errorCode);
String message = translate(sqlstate, params); String message = translate(sqlstate, params);
return new DbException(getJdbcSQLException(message, sql, sqlstate, errorCode, null, null)); return new DbException(getJdbcSQLException(message, sql, sqlstate, errorCode, null, null));
} }
...@@ -264,7 +264,7 @@ public class DbException extends RuntimeException { ...@@ -264,7 +264,7 @@ public class DbException extends RuntimeException {
* @return the exception * @return the exception
*/ */
public static DbException getUnsupportedException(String message) { public static DbException getUnsupportedException(String message) {
return get(ErrorCode.FEATURE_NOT_SUPPORTED_1, message); return get(FEATURE_NOT_SUPPORTED_1, message);
} }
/** /**
...@@ -274,10 +274,8 @@ public class DbException extends RuntimeException { ...@@ -274,10 +274,8 @@ public class DbException extends RuntimeException {
* @param value the value passed * @param value the value passed
* @return the IllegalArgumentException object * @return the IllegalArgumentException object
*/ */
public static DbException getInvalidValueException(String param, public static DbException getInvalidValueException(String param, Object value) {
Object value) { return get(INVALID_VALUE_2, value == null ? "null" : value.toString(), param);
return get(ErrorCode.INVALID_VALUE_2,
value == null ? "null" : value.toString(), param);
} }
/** /**
...@@ -336,19 +334,19 @@ public class DbException extends RuntimeException { ...@@ -336,19 +334,19 @@ public class DbException extends RuntimeException {
} else if (e instanceof InvocationTargetException) { } else if (e instanceof InvocationTargetException) {
return convertInvocation((InvocationTargetException) e, null); return convertInvocation((InvocationTargetException) e, null);
} else if (e instanceof IOException) { } else if (e instanceof IOException) {
return get(ErrorCode.IO_EXCEPTION_1, e, e.toString()); return get(IO_EXCEPTION_1, e, e.toString());
} else if (e instanceof OutOfMemoryError) { } else if (e instanceof OutOfMemoryError) {
return get(ErrorCode.OUT_OF_MEMORY, e); return get(OUT_OF_MEMORY, e);
} else if (e instanceof StackOverflowError || e instanceof LinkageError) { } else if (e instanceof StackOverflowError || e instanceof LinkageError) {
return get(ErrorCode.GENERAL_ERROR_1, e, e.toString()); return get(GENERAL_ERROR_1, e, e.toString());
} else if (e instanceof Error) { } else if (e instanceof Error) {
throw (Error) e; throw (Error) e;
} }
return get(ErrorCode.GENERAL_ERROR_1, e, e.toString()); return get(GENERAL_ERROR_1, e, e.toString());
} catch (Throwable ex) { } catch (Throwable ex) {
try { try {
DbException dbException = new DbException( DbException dbException = new DbException(
new SQLException("GeneralError", "HY000", ErrorCode.GENERAL_ERROR_1, e)); new SQLException("GeneralError", "HY000", GENERAL_ERROR_1, e));
dbException.addSuppressed(ex); dbException.addSuppressed(ex);
return dbException; return dbException;
} catch (OutOfMemoryError ignore) { } catch (OutOfMemoryError ignore) {
...@@ -371,7 +369,7 @@ public class DbException extends RuntimeException { ...@@ -371,7 +369,7 @@ public class DbException extends RuntimeException {
return convert(t); return convert(t);
} }
message = message == null ? t.getMessage() : message + ": " + t.getMessage(); message = message == null ? t.getMessage() : message + ": " + t.getMessage();
return get(ErrorCode.EXCEPTION_IN_FUNCTION_1, t, message); return get(EXCEPTION_IN_FUNCTION_1, t, message);
} }
/** /**
...@@ -387,9 +385,9 @@ public class DbException extends RuntimeException { ...@@ -387,9 +385,9 @@ public class DbException extends RuntimeException {
if (t instanceof DbException) { if (t instanceof DbException) {
return (DbException) t; return (DbException) t;
} }
return get(ErrorCode.IO_EXCEPTION_1, e, e.toString()); return get(IO_EXCEPTION_1, e, e.toString());
} }
return get(ErrorCode.IO_EXCEPTION_2, e, e.toString(), message); return get(IO_EXCEPTION_2, e, e.toString(), message);
} }
/** /**
...@@ -398,8 +396,7 @@ public class DbException extends RuntimeException { ...@@ -398,8 +396,7 @@ public class DbException extends RuntimeException {
* @param errorCode the error code * @param errorCode the error code
* @return the SQLException object * @return the SQLException object
*/ */
public static SQLException getJdbcSQLException(int errorCode) public static SQLException getJdbcSQLException(int errorCode) {
{
return getJdbcSQLException(errorCode, (Throwable)null); return getJdbcSQLException(errorCode, (Throwable)null);
} }
...@@ -410,8 +407,7 @@ public class DbException extends RuntimeException { ...@@ -410,8 +407,7 @@ public class DbException extends RuntimeException {
* @param p1 the first parameter of the message * @param p1 the first parameter of the message
* @return the SQLException object * @return the SQLException object
*/ */
public static SQLException getJdbcSQLException(int errorCode, String p1) public static SQLException getJdbcSQLException(int errorCode, String p1) {
{
return getJdbcSQLException(errorCode, null, p1); return getJdbcSQLException(errorCode, null, p1);
} }
...@@ -424,7 +420,7 @@ public class DbException extends RuntimeException { ...@@ -424,7 +420,7 @@ public class DbException extends RuntimeException {
* @return the SQLException object * @return the SQLException object
*/ */
public static SQLException getJdbcSQLException(int errorCode, Throwable cause, String... params) { public static SQLException getJdbcSQLException(int errorCode, Throwable cause, String... params) {
String sqlstate = ErrorCode.getState(errorCode); String sqlstate = getState(errorCode);
String message = translate(sqlstate, params); String message = translate(sqlstate, params);
return getJdbcSQLException(message, null, sqlstate, errorCode, cause, null); return getJdbcSQLException(message, null, sqlstate, errorCode, cause, null);
} }
...@@ -463,159 +459,159 @@ public class DbException extends RuntimeException { ...@@ -463,159 +459,159 @@ public class DbException extends RuntimeException {
} }
// Check error code // Check error code
switch (errorCode){ switch (errorCode){
case ErrorCode.GENERAL_ERROR_1: case GENERAL_ERROR_1:
case ErrorCode.UNKNOWN_DATA_TYPE_1: case UNKNOWN_DATA_TYPE_1:
case ErrorCode.METHOD_NOT_ALLOWED_FOR_QUERY: case METHOD_NOT_ALLOWED_FOR_QUERY:
case ErrorCode.METHOD_ONLY_ALLOWED_FOR_QUERY: case METHOD_ONLY_ALLOWED_FOR_QUERY:
case ErrorCode.SEQUENCE_EXHAUSTED: case SEQUENCE_EXHAUSTED:
case ErrorCode.OBJECT_CLOSED: case OBJECT_CLOSED:
case ErrorCode.CANNOT_DROP_CURRENT_USER: case CANNOT_DROP_CURRENT_USER:
case ErrorCode.UNSUPPORTED_SETTING_COMBINATION: case UNSUPPORTED_SETTING_COMBINATION:
case ErrorCode.FILE_RENAME_FAILED_2: case FILE_RENAME_FAILED_2:
case ErrorCode.FILE_DELETE_FAILED_1: case FILE_DELETE_FAILED_1:
case ErrorCode.IO_EXCEPTION_1: case IO_EXCEPTION_1:
case ErrorCode.NOT_ON_UPDATABLE_ROW: case NOT_ON_UPDATABLE_ROW:
case ErrorCode.IO_EXCEPTION_2: case IO_EXCEPTION_2:
case ErrorCode.TRACE_FILE_ERROR_2: case TRACE_FILE_ERROR_2:
case ErrorCode.ADMIN_RIGHTS_REQUIRED: case ADMIN_RIGHTS_REQUIRED:
case ErrorCode.ERROR_EXECUTING_TRIGGER_3: case ERROR_EXECUTING_TRIGGER_3:
case ErrorCode.COMMIT_ROLLBACK_NOT_ALLOWED: case COMMIT_ROLLBACK_NOT_ALLOWED:
case ErrorCode.FILE_CREATION_FAILED_1: case FILE_CREATION_FAILED_1:
case ErrorCode.SAVEPOINT_IS_INVALID_1: case SAVEPOINT_IS_INVALID_1:
case ErrorCode.SAVEPOINT_IS_UNNAMED: case SAVEPOINT_IS_UNNAMED:
case ErrorCode.SAVEPOINT_IS_NAMED: case SAVEPOINT_IS_NAMED:
case ErrorCode.NOT_ENOUGH_RIGHTS_FOR_1: case NOT_ENOUGH_RIGHTS_FOR_1:
case ErrorCode.DATABASE_IS_READ_ONLY: case DATABASE_IS_READ_ONLY:
case ErrorCode.WRONG_XID_FORMAT_1: case WRONG_XID_FORMAT_1:
case ErrorCode.UNSUPPORTED_COMPRESSION_OPTIONS_1: case UNSUPPORTED_COMPRESSION_OPTIONS_1:
case ErrorCode.UNSUPPORTED_COMPRESSION_ALGORITHM_1: case UNSUPPORTED_COMPRESSION_ALGORITHM_1:
case ErrorCode.COMPRESSION_ERROR: case COMPRESSION_ERROR:
case ErrorCode.EXCEPTION_IN_FUNCTION_1: case EXCEPTION_IN_FUNCTION_1:
case ErrorCode.ERROR_ACCESSING_LINKED_TABLE_2: case ERROR_ACCESSING_LINKED_TABLE_2:
case ErrorCode.FILE_NOT_FOUND_1: case FILE_NOT_FOUND_1:
case ErrorCode.INVALID_CLASS_2: case INVALID_CLASS_2:
case ErrorCode.DATABASE_IS_NOT_PERSISTENT: case DATABASE_IS_NOT_PERSISTENT:
case ErrorCode.RESULT_SET_NOT_UPDATABLE: case RESULT_SET_NOT_UPDATABLE:
case ErrorCode.RESULT_SET_NOT_SCROLLABLE: case RESULT_SET_NOT_SCROLLABLE:
case ErrorCode.METHOD_NOT_ALLOWED_FOR_PREPARED_STATEMENT: case METHOD_NOT_ALLOWED_FOR_PREPARED_STATEMENT:
case ErrorCode.ACCESS_DENIED_TO_CLASS_1: case ACCESS_DENIED_TO_CLASS_1:
case ErrorCode.RESULT_SET_READONLY: case RESULT_SET_READONLY:
return new JdbcSQLNonTransientException(message, sql, state, errorCode, cause, stackTrace); return new JdbcSQLNonTransientException(message, sql, state, errorCode, cause, stackTrace);
case ErrorCode.FEATURE_NOT_SUPPORTED_1: case FEATURE_NOT_SUPPORTED_1:
return new JdbcSQLFeatureNotSupportedException(message, sql, state, errorCode, cause, stackTrace); return new JdbcSQLFeatureNotSupportedException(message, sql, state, errorCode, cause, stackTrace);
case ErrorCode.LOCK_TIMEOUT_1: case LOCK_TIMEOUT_1:
case ErrorCode.STATEMENT_WAS_CANCELED: case STATEMENT_WAS_CANCELED:
case ErrorCode.LOB_CLOSED_ON_TIMEOUT_1: case LOB_CLOSED_ON_TIMEOUT_1:
return new JdbcSQLTimeoutException(message, sql, state, errorCode, cause, stackTrace); return new JdbcSQLTimeoutException(message, sql, state, errorCode, cause, stackTrace);
case ErrorCode.FUNCTION_MUST_RETURN_RESULT_SET_1: case FUNCTION_MUST_RETURN_RESULT_SET_1:
case ErrorCode.TRIGGER_SELECT_AND_ROW_BASED_NOT_SUPPORTED: case TRIGGER_SELECT_AND_ROW_BASED_NOT_SUPPORTED:
case ErrorCode.SUM_OR_AVG_ON_WRONG_DATATYPE_1: case SUM_OR_AVG_ON_WRONG_DATATYPE_1:
case ErrorCode.MUST_GROUP_BY_COLUMN_1: case MUST_GROUP_BY_COLUMN_1:
case ErrorCode.SECOND_PRIMARY_KEY: case SECOND_PRIMARY_KEY:
case ErrorCode.FUNCTION_NOT_FOUND_1: case FUNCTION_NOT_FOUND_1:
case ErrorCode.COLUMN_MUST_NOT_BE_NULLABLE_1: case COLUMN_MUST_NOT_BE_NULLABLE_1:
case ErrorCode.USER_NOT_FOUND_1: case USER_NOT_FOUND_1:
case ErrorCode.USER_ALREADY_EXISTS_1: case USER_ALREADY_EXISTS_1:
case ErrorCode.SEQUENCE_ALREADY_EXISTS_1: case SEQUENCE_ALREADY_EXISTS_1:
case ErrorCode.SEQUENCE_NOT_FOUND_1: case SEQUENCE_NOT_FOUND_1:
case ErrorCode.VIEW_NOT_FOUND_1: case VIEW_NOT_FOUND_1:
case ErrorCode.VIEW_ALREADY_EXISTS_1: case VIEW_ALREADY_EXISTS_1:
case ErrorCode.TRIGGER_ALREADY_EXISTS_1: case TRIGGER_ALREADY_EXISTS_1:
case ErrorCode.TRIGGER_NOT_FOUND_1: case TRIGGER_NOT_FOUND_1:
case ErrorCode.ERROR_CREATING_TRIGGER_OBJECT_3: case ERROR_CREATING_TRIGGER_OBJECT_3:
case ErrorCode.CONSTRAINT_ALREADY_EXISTS_1: case CONSTRAINT_ALREADY_EXISTS_1:
case ErrorCode.INVALID_VALUE_SCALE_PRECISION: case INVALID_VALUE_SCALE_PRECISION:
case ErrorCode.SUBQUERY_IS_NOT_SINGLE_COLUMN: case SUBQUERY_IS_NOT_SINGLE_COLUMN:
case ErrorCode.INVALID_USE_OF_AGGREGATE_FUNCTION_1: case INVALID_USE_OF_AGGREGATE_FUNCTION_1:
case ErrorCode.CONSTRAINT_NOT_FOUND_1: case CONSTRAINT_NOT_FOUND_1:
case ErrorCode.AMBIGUOUS_COLUMN_NAME_1: case AMBIGUOUS_COLUMN_NAME_1:
case ErrorCode.ORDER_BY_NOT_IN_RESULT: case ORDER_BY_NOT_IN_RESULT:
case ErrorCode.ROLE_ALREADY_EXISTS_1: case ROLE_ALREADY_EXISTS_1:
case ErrorCode.ROLE_NOT_FOUND_1: case ROLE_NOT_FOUND_1:
case ErrorCode.USER_OR_ROLE_NOT_FOUND_1: case USER_OR_ROLE_NOT_FOUND_1:
case ErrorCode.ROLES_AND_RIGHT_CANNOT_BE_MIXED: case ROLES_AND_RIGHT_CANNOT_BE_MIXED:
case ErrorCode.METHODS_MUST_HAVE_DIFFERENT_PARAMETER_COUNTS_2: case METHODS_MUST_HAVE_DIFFERENT_PARAMETER_COUNTS_2:
case ErrorCode.ROLE_ALREADY_GRANTED_1: case ROLE_ALREADY_GRANTED_1:
case ErrorCode.COLUMN_IS_PART_OF_INDEX_1: case COLUMN_IS_PART_OF_INDEX_1:
case ErrorCode.FUNCTION_ALIAS_ALREADY_EXISTS_1: case FUNCTION_ALIAS_ALREADY_EXISTS_1:
case ErrorCode.FUNCTION_ALIAS_NOT_FOUND_1: case FUNCTION_ALIAS_NOT_FOUND_1:
case ErrorCode.SCHEMA_ALREADY_EXISTS_1: case SCHEMA_ALREADY_EXISTS_1:
case ErrorCode.SCHEMA_NOT_FOUND_1: case SCHEMA_NOT_FOUND_1:
case ErrorCode.SCHEMA_NAME_MUST_MATCH: case SCHEMA_NAME_MUST_MATCH:
case ErrorCode.COLUMN_CONTAINS_NULL_VALUES_1: case COLUMN_CONTAINS_NULL_VALUES_1:
case ErrorCode.SEQUENCE_BELONGS_TO_A_TABLE_1: case SEQUENCE_BELONGS_TO_A_TABLE_1:
case ErrorCode.COLUMN_IS_REFERENCED_1: case COLUMN_IS_REFERENCED_1:
case ErrorCode.CANNOT_DROP_LAST_COLUMN: case CANNOT_DROP_LAST_COLUMN:
case ErrorCode.INDEX_BELONGS_TO_CONSTRAINT_2: case INDEX_BELONGS_TO_CONSTRAINT_2:
case ErrorCode.CLASS_NOT_FOUND_1: case CLASS_NOT_FOUND_1:
case ErrorCode.METHOD_NOT_FOUND_1: case METHOD_NOT_FOUND_1:
case ErrorCode.COLLATION_CHANGE_WITH_DATA_TABLE_1: case COLLATION_CHANGE_WITH_DATA_TABLE_1:
case ErrorCode.SCHEMA_CAN_NOT_BE_DROPPED_1: case SCHEMA_CAN_NOT_BE_DROPPED_1:
case ErrorCode.ROLE_CAN_NOT_BE_DROPPED_1: case ROLE_CAN_NOT_BE_DROPPED_1:
case ErrorCode.CANNOT_TRUNCATE_1: case CANNOT_TRUNCATE_1:
case ErrorCode.CANNOT_DROP_2: case CANNOT_DROP_2:
case ErrorCode.VIEW_IS_INVALID_2: case VIEW_IS_INVALID_2:
case ErrorCode.COMPARING_ARRAY_TO_SCALAR: case COMPARING_ARRAY_TO_SCALAR:
case ErrorCode.CONSTANT_ALREADY_EXISTS_1: case CONSTANT_ALREADY_EXISTS_1:
case ErrorCode.CONSTANT_NOT_FOUND_1: case CONSTANT_NOT_FOUND_1:
case ErrorCode.LITERALS_ARE_NOT_ALLOWED: case LITERALS_ARE_NOT_ALLOWED:
case ErrorCode.CANNOT_DROP_TABLE_1: case CANNOT_DROP_TABLE_1:
case ErrorCode.USER_DATA_TYPE_ALREADY_EXISTS_1: case USER_DATA_TYPE_ALREADY_EXISTS_1:
case ErrorCode.USER_DATA_TYPE_NOT_FOUND_1: case USER_DATA_TYPE_NOT_FOUND_1:
case ErrorCode.WITH_TIES_WITHOUT_ORDER_BY: case WITH_TIES_WITHOUT_ORDER_BY:
case ErrorCode.CANNOT_MIX_INDEXED_AND_UNINDEXED_PARAMS: case CANNOT_MIX_INDEXED_AND_UNINDEXED_PARAMS:
case ErrorCode.TRANSACTION_NOT_FOUND_1: case TRANSACTION_NOT_FOUND_1:
case ErrorCode.AGGREGATE_NOT_FOUND_1: case AGGREGATE_NOT_FOUND_1:
case ErrorCode.CAN_ONLY_ASSIGN_TO_VARIABLE_1: case CAN_ONLY_ASSIGN_TO_VARIABLE_1:
case ErrorCode.PUBLIC_STATIC_JAVA_METHOD_NOT_FOUND_1: case PUBLIC_STATIC_JAVA_METHOD_NOT_FOUND_1:
case ErrorCode.JAVA_OBJECT_SERIALIZER_CHANGE_WITH_DATA_TABLE: case JAVA_OBJECT_SERIALIZER_CHANGE_WITH_DATA_TABLE:
return new JdbcSQLSyntaxErrorException(message, sql, state, errorCode, cause, stackTrace); return new JdbcSQLSyntaxErrorException(message, sql, state, errorCode, cause, stackTrace);
case ErrorCode.HEX_STRING_ODD_1: case HEX_STRING_ODD_1:
case ErrorCode.HEX_STRING_WRONG_1: case HEX_STRING_WRONG_1:
case ErrorCode.INVALID_VALUE_2: case INVALID_VALUE_2:
case ErrorCode.SEQUENCE_ATTRIBUTES_INVALID: case SEQUENCE_ATTRIBUTES_INVALID:
case ErrorCode.INVALID_TO_CHAR_FORMAT: case INVALID_TO_CHAR_FORMAT:
case ErrorCode.PARAMETER_NOT_SET_1: case PARAMETER_NOT_SET_1:
case ErrorCode.PARSE_ERROR_1: case PARSE_ERROR_1:
case ErrorCode.INVALID_TO_DATE_FORMAT: case INVALID_TO_DATE_FORMAT:
case ErrorCode.STRING_FORMAT_ERROR_1: case STRING_FORMAT_ERROR_1:
case ErrorCode.SERIALIZATION_FAILED_1: case SERIALIZATION_FAILED_1:
case ErrorCode.DESERIALIZATION_FAILED_1: case DESERIALIZATION_FAILED_1:
case ErrorCode.SCALAR_SUBQUERY_CONTAINS_MORE_THAN_ONE_ROW: case SCALAR_SUBQUERY_CONTAINS_MORE_THAN_ONE_ROW:
case ErrorCode.STEP_SIZE_MUST_NOT_BE_ZERO: case STEP_SIZE_MUST_NOT_BE_ZERO:
return new JdbcSQLDataException(message, sql, state, errorCode, cause, stackTrace); return new JdbcSQLDataException(message, sql, state, errorCode, cause, stackTrace);
case ErrorCode.URL_RELATIVE_TO_CWD: case URL_RELATIVE_TO_CWD:
case ErrorCode.DATABASE_NOT_FOUND_1: case DATABASE_NOT_FOUND_1:
case ErrorCode.TRACE_CONNECTION_NOT_CLOSED: case TRACE_CONNECTION_NOT_CLOSED:
case ErrorCode.DATABASE_ALREADY_OPEN_1: case DATABASE_ALREADY_OPEN_1:
case ErrorCode.FILE_CORRUPTED_1: case FILE_CORRUPTED_1:
case ErrorCode.URL_FORMAT_ERROR_2: case URL_FORMAT_ERROR_2:
case ErrorCode.DRIVER_VERSION_ERROR_2: case DRIVER_VERSION_ERROR_2:
case ErrorCode.FILE_VERSION_ERROR_1: case FILE_VERSION_ERROR_1:
case ErrorCode.FILE_ENCRYPTION_ERROR_1: case FILE_ENCRYPTION_ERROR_1:
case ErrorCode.WRONG_PASSWORD_FORMAT: case WRONG_PASSWORD_FORMAT:
case ErrorCode.UNSUPPORTED_CIPHER: case UNSUPPORTED_CIPHER:
case ErrorCode.UNSUPPORTED_LOCK_METHOD_1: case UNSUPPORTED_LOCK_METHOD_1:
case ErrorCode.EXCEPTION_OPENING_PORT_2: case EXCEPTION_OPENING_PORT_2:
case ErrorCode.DUPLICATE_PROPERTY_1: case DUPLICATE_PROPERTY_1:
case ErrorCode.CONNECTION_BROKEN_1: case CONNECTION_BROKEN_1:
case ErrorCode.UNKNOWN_MODE_1: case UNKNOWN_MODE_1:
case ErrorCode.CLUSTER_ERROR_DATABASE_RUNS_ALONE: case CLUSTER_ERROR_DATABASE_RUNS_ALONE:
case ErrorCode.CLUSTER_ERROR_DATABASE_RUNS_CLUSTERED_1: case CLUSTER_ERROR_DATABASE_RUNS_CLUSTERED_1:
case ErrorCode.DATABASE_IS_CLOSED: case DATABASE_IS_CLOSED:
case ErrorCode.ERROR_SETTING_DATABASE_EVENT_LISTENER_2: case ERROR_SETTING_DATABASE_EVENT_LISTENER_2:
case ErrorCode.OUT_OF_MEMORY: case OUT_OF_MEMORY:
case ErrorCode.UNSUPPORTED_SETTING_1: case UNSUPPORTED_SETTING_1:
case ErrorCode.REMOTE_CONNECTION_NOT_ALLOWED: case REMOTE_CONNECTION_NOT_ALLOWED:
case ErrorCode.DATABASE_CALLED_AT_SHUTDOWN: case DATABASE_CALLED_AT_SHUTDOWN:
case ErrorCode.CANNOT_CHANGE_SETTING_WHEN_OPEN_1: case CANNOT_CHANGE_SETTING_WHEN_OPEN_1:
case ErrorCode.DATABASE_IS_IN_EXCLUSIVE_MODE: case DATABASE_IS_IN_EXCLUSIVE_MODE:
case ErrorCode.INVALID_DATABASE_NAME_1: case INVALID_DATABASE_NAME_1:
case ErrorCode.AUTHENTICATOR_NOT_AVAILABLE: case AUTHENTICATOR_NOT_AVAILABLE:
return new JdbcSQLNonTransientConnectionException(message, sql, state, errorCode, cause, stackTrace); return new JdbcSQLNonTransientConnectionException(message, sql, state, errorCode, cause, stackTrace);
case ErrorCode.ROW_NOT_FOUND_WHEN_DELETING_1: case ROW_NOT_FOUND_WHEN_DELETING_1:
case ErrorCode.CONCURRENT_UPDATE_1: case CONCURRENT_UPDATE_1:
case ErrorCode.ROW_NOT_FOUND_IN_PRIMARY_INDEX: case ROW_NOT_FOUND_IN_PRIMARY_INDEX:
return new JdbcSQLTransientException(message, sql, state, errorCode, cause, stackTrace); return new JdbcSQLTransientException(message, sql, state, errorCode, cause, stackTrace);
} }
// Default // Default
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论