Excepciones.
Las excepciones son el mecanismo por el cual pueden controlarse en un programa Java las condiciones de error que se producen. Estas condiciones de error pueden ser errores en la lógica del programa como un índice de un array fuera de su rango, una división por cero o errores disparados por los propios objetos que denuncian algún tipo de estado no previsto, o condición que no pueden manejar.La idea general es que cuando un objeto encuentra una condición que no sabe manejar crea y dispara una excepción que deberá ser capturada por el que le llamó o por alguien más arriba en la pila de llamadas. Las excepciones son objetos que contienen información del error que se ha producido y que heredan de la clase Throwable o de la clase Exception. Si nadie captura la excepción interviene un manejador por defecto que normalmente imprime información que ayuda a encontrar quién produjo la excepción.
Existen dos categorías de excepciones:
- Excepciones verificadas: El compilador obliga a verificarlas. Son todas las que son lanzadas explicitamente por objetos de usuario.
- Excepciones no verificadas: El compilador no obliga a su verificación. Son excepciones como divisiones por cero, excepciones de puntero nulo, o índices fuera de rango. Las excepciones generadas por el sistema son lanzadas automáticamente por el sistema de tiempo de ejecución de Java. Para lanzar manualmente una excepción, use la palabra clave throw. En algunos casos, una excepción arrojada por un método debe ser especificada como tal por una cláusula throws. Cualquier código que debe ejecutarse al salir de un bloque try se coloca en un bloque finally.
- Bloque try { } en este siempre deberá ir la(s) línea(s) de código que produzcan una excepción. No deberá de contener líneas de código que no produzcan ninguna excepción. Bloque de código para monitorear errores
- Bloque catch( Exception e ) { } es el encargado de estar cachando las excepciones que se produzcan dentro del bloque try, que arrojara un mensaje descriptivo de la excepción ocurrida. A su vez se le estará tratando siempre y cuando se pueda recuperar de la excepción. Manejador para TipoExcepción
- Bloque finally { } siempre se ejecutara independientemente si se lanza o no una excepción.
- Cuando tenemos un bloque try compuesto por varios catch hay que tener en cuenta lo siguiente: o Siempre el primer bloque catch ( ) deberá de contener una subclase, conforme a la jerarquía de excepciones, es decir, de lo mas particular o lo mas general. Ejemplo:
catch (NullPointerException e1) { // code to execute if a MyException exception is thrown }
catch (Exception e2) { // code to execute if a MyOtherException exception is thrown }
CONTEXTO ESTÁTICO (static).
- Cada instancia u objeto de una clase tiene su propia copia de las variables de la clase, si es necesario que haya miembros no ligados a los objetos sino a la clase, es decir comunes a todos los objetos, éstos se declaran static.
- La palabra reservada static se utiliza como modificador de clase, método y atributos.
- Un atributo static podrá ser utilizado por cualquier método. No es necesario crear una instancia de clase