SQLException | Java

 

Descripción

La excepción SQLException es una clase que extiende de Exception y se utiliza para manejar errores específicos que ocurren durante operaciones con bases de datos utilizando JDBC. Esta excepción proporciona información detallada sobre el error ocurrido, incluyendo un código de error específico del proveedor de la base de datos y un estado SQL estándar que permite identificar el tipo de problema encontrado.

Algunos de los estados SQL más corrientes son:

  • 00000: Éxito - La operación se completó correctamente
  • 01002: Error de desconexión - La conexión con la base de datos se perdió
  • 08001: Error de conexión - No se pudo establecer la conexión con el servidor
  • 22001: Error de datos - Los datos son demasiado largos para la columna
  • 23000: Violación de restricción - Violación de clave única o restricción de integridad
  • 42000: Error de sintaxis - Error en la sintaxis de la sentencia SQL
  • 42601: Error de sintaxis - Error en la sintaxis o violación de reglas gramaticales en la sentencia SQL

Sintaxis

public class SQLException extends Exception implements Iterable<Throwable>

Constructores

Métodos

Ejemplo

public class InsertarDatos {

  public static void main(String[] args) {
 
    Connection con = null;
     PreparedStatement stmt = null;

     String sDriver = "com.mysql.jdbc.Driver";
     String sURL = "jdbc:mysql://localhost:3306/lineadecodigo";

     try{
        Class.forName(sDriver).newInstance();    
        con = DriverManager.getConnection(sURL,"root","");
        
        String sISBN = "84-9815-212-7";
        String sTitulo = "Yo, Claudio";
        String sDescripcion="Supuesta autobiografía de Claudio";
        String sCategoria = "Novela Histórica";
        int idAutor = 3;
                     
        stmt = con.prepareStatement("INSERT INTO libros VALUES (?,?,?,?,?)");
        stmt.setString(1,sISBN);
        stmt.setInt(2,idAutor);
        stmt.setString(3,sTitulo);
        stmt.setString(4,sDescripcion);
        stmt.setString(5,sCategoria);
                     
        int retorno = stmt.executeUpdate();
        if (retorno>0)
           System.out.println("Insertado correctamente");      
                     
     } catch (SQLException sqle){
        System.out.println("SQLState: " 
           + sqle.getSQLState());
        System.out.println("SQLErrorCode: " 
           + sqle.getErrorCode());
        sqle.printStackTrace();
     } catch (Exception e){
        e.printStackTrace();
     } finally {
        if (con != null) {
           try{
              stmt.close();
              con.close();
           } catch(Exception e){
              e.printStackTrace();
           }
        }
     }           
   }
}

Artículos

Manual Java

Aprende más sobre Java consultando online o descargando nuestro manual.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Vídeos Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.