Ningún error / advertencia del compilador para no coger / lanzar excepción

No entiendo porqué el compilador no me advierte sobre no coger o lanzar una SQLException . Aquí está la situación:

He definido esta interfaz:

 public interface GenericDatabaseManager { public void createTables(DataBase model) throws SQLException; } 

Entonces he creado esta clase que implementa la interfaz dada:

 public class SqliteHelper extends SQLiteOpenHelper implements GenericDatabaseManager { @Override public void createTables(DataBase model) throws SQLException { // Code that throws SQLException } 

Y finalmente llamo a este SqliteHelper.createTables () de aquí:

 public class DatabaseManager extends CoreModule { private boolean createUpdateDB(final String dbString, final String appId) { // Previous code... if (oldVer == -1) { dbCoreModel.addModel(dbModel); dbCoreModel.getManager().createTables(dbModel); return true; } // More code... } } 

dbCoreModel.getManager() devuelve una instancia de GenericDatabaseManager . Pero el compilador no muestra ningún error en dbCoreModel.getManager().createTables(dbModel); , Aunque esta línea arroja una SQLException .

¿Alguien tiene una idea sobre por qué está sucediendo esto? Gracias por adelantado.

EDIT : sobre SQLException no necesita ser atrapado porque es un RuntimeException . Esto no es verdad . He aquí un ejemplo:

 import java.sql.SQLException; interface Interface { public void throwsSQLException() throws SQLException; } class Test implements Interface { @Override public void throwsSQLException() throws SQLException { throw new SQLException(); } } public class Main { public static void main(String[] args) { Interface i = new Test(); i.throwsSQLException(); System.out.println("Finished"); } } 

El compilador NO muestra un error en i.throwsSQLException(); en este caso.

android.database.SQLException es una excepción de tiempo de ejecución.

En java no es necesario capturar o declarar tiros para excepciones de tiempo de ejecución. Leer una descripción detallada sobre RuntimeExceptions en java aquí

  • GSON ignorar elementos con tipo incorrecto
  • BATTERY_PROPERTY_CURRENT_NOW no funciona en todos los dispositivos. ¿Qué son las alternativas?
  • Problema de compilación en Android Studio con Google Play Services
  • Android: No se pudo encontrar el método
  • Pasar datos a Fragmento añadido - IlligalStateException: Fragmento ya activo
  • Uso de ECC Curve25519 para cifrar / descifrar datos en Java
  • ¿Por qué la configuración de settings.xml se superpone a la barra de herramientas / barra de herramientas?
  • Cómo cambiar el nombre de un proyecto en Android Studio
  • Historia del grupo de canales de Pubnub
  • Android - Contenido Valores sobre la escritura de filas existentes
  • GlCreateShader y glCreateProgram fallan en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.