01: /*
02:
03: Derby - Class org.apache.derby.impl.jdbc.SQLExceptionFactory
04:
05: Licensed to the Apache Software Foundation (ASF) under one or more
06: contributor license agreements. See the NOTICE file distributed with
07: this work for additional information regarding copyright ownership.
08: The ASF licenses this file to you under the Apache License, Version 2.0
09: (the "License"); you may not use this file except in compliance with
10: the License. You may obtain a copy of the License at
11:
12: http://www.apache.org/licenses/LICENSE-2.0
13:
14: Unless required by applicable law or agreed to in writing, software
15: distributed under the License is distributed on an "AS IS" BASIS,
16: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17: See the License for the specific language governing permissions and
18: limitations under the License.
19:
20: */
21:
22: package org.apache.derby.impl.jdbc;
23:
24: import java.io.IOException;
25: import org.apache.derby.iapi.error.ExceptionSeverity;
26: import org.apache.derby.iapi.reference.SQLState;
27: import org.apache.derby.iapi.error.StandardException;
28: import org.apache.derby.iapi.services.i18n.MessageService;
29: import org.apache.derby.iapi.reference.MessageId;
30:
31: import java.sql.SQLException;
32:
33: /**
34: *Class to create SQLException
35: *
36: */
37: public class SQLExceptionFactory {
38: /**
39: * method to construct SQLException
40: * version specific drivers can overload this method to create
41: * version specific exceptions
42: */
43: public SQLException getSQLException(String message,
44: String messageId, SQLException next, int severity,
45: Throwable t, Object[] args) {
46: return new EmbedSQLException(message, messageId, next,
47: severity, t, args);
48: }
49:
50: /**
51: * Unpack a SQL exception, looking for an EmbedSQLException which carries
52: * the Derby messageID and args which we will serialize across DRDA so
53: * that the client can reconstitute a SQLException with appropriate text.
54: * If we are running JDBC3 or JDBC2, then we hope that the passed-in
55: * exception is already an EmbedSQLException, which carries all the
56: * information we need.
57: */
58: public SQLException getArgumentFerry(SQLException se) {
59: return se;
60: }
61:
62: }
|