Catch (Exception e) en Java en versiones anteriores a Java 7

user3446781:

En el capítulo 3 de la Guía de estudio de Oracle OCP Java SE 8 Programador II, que dice lo siguiente (pg 184).:

En Java 6, no podemos escribir catch (Exception e)y se limitó a lanzar excepciones específicas. Si lo intentamos, el compilador todavía se quejaba:

Tipo de excepción no controlada Exception.

¿Qué significa esto? ¿Qué es un ejemplo concreto?

Joe C:

Consideremos el siguiente ejemplo:

Integer add (Integer a, Integer b) {
    try {
        return a + b;
    } catch (Exception e) {
        throw e;
    }
}

Por supuesto, la adición de dos números no puede lanzar las excepciones controladas. Sin embargo, en Java 6, el compilador ve throw e, donde ees una Exception, y concluye que el método puede arrojar alguna Exception. Para ello es necesario añadir a declarar que throws Exception.

De Java 7, el compilador es un poco más inteligente con la elaboración de lo tipos de excepción epuede ser cuando se re-lanzado. En este caso, es capaz de trabajar que esólo puede ser una RuntimeException(que no está marcada), y por lo tanto la declaración de que complemento throws Exceptionya no es necesario.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=200940&siteId=1
Recomendado
Clasificación