Handling a SQL Exception: how to retrieve the information in a SQLException.
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Main { public static void main(String[] argv) throws Exception { String driverName = "com.jnetdirect.jsql.JSQLDriver"; Class.forName(driverName); String serverName = "127.0.0.1"; String portNumber = "1433"; String mydatabase = serverName + ":" + portNumber; String url = "jdbc:JSQLConnect://" + mydatabase; String username = "username"; String password = "password"; Connection connection = DriverManager.getConnection(url, username, password); try { connection.createStatement().execute("select wrong"); } catch (SQLException e) { while (e != null) { String message = e.getMessage(); String sqlState = e.getSQLState(); int errorCode = e.getErrorCode(); driverName = connection.getMetaData().getDriverName(); if (driverName.equals("Oracle JDBC Driver") && errorCode == 123) { } e = e.getNextException(); } } } }
1. | Get Error Code, SQL State, Message | ||
2. | Logging errors to a file | ||
3. | Print the stack trace for a SQLException to STDERR. |