Quan Java llança UndeclaredThrowableException?

Bloc

Quan Java llança UndeclaredThrowableException?

1. Visió general

En aquest tutorial, veurem què provoca que Java llanci una instància de l'excepció _UndeclaredThrowableException.



En primer lloc, començarem amb una mica de teoria. Després, intentarem entendre millor la naturalesa d’aquesta excepció amb dos exemples del món real.

2. El UndeclaredThrowableException

Teòricament parlant, Java llançarà una instància de UndeclaredThrowableException quan intentem llançar un no declarat excepció comprovada . És a dir, no vam declarar l'excepció marcada a la clàusula _throws _, però vam llançar aquesta excepció al cos del mètode.



react-native-esquelet

Es podria argumentar que això és impossible, ja que el compilador Java ho impedeix amb un error de compilació. Per exemple, si intentem compilar:

1



2

3

public void undeclared() {

throw new IOException();

}

El compilador Java falla amb el missatge:

1

java: unreported exception java.io.IOException; must be caught or declared to be thrown

javascript valida l'adreça IP

** Tot i que no es poden produir excepcions marcades no declarades en temps de compilació, encara és possible en temps d'execució. ** Per exemple, considerem un servidor intermediari en temps d'execució que intercepti un mètode que no inclogui cap excepció:

1

2

3

public void save(Object data) {

// omitted

}

** Si el propi servidor intermediari genera una excepció marcada, des de la perspectiva de la persona que truca, el mètode _save _ genera aquesta excepció marcada. ** És probable que la persona que truca no sàpiga res d'aquest servidor intermediari i culparà el _salva _ d'aquesta excepció.

** En aquestes circumstàncies, Java embolicarà l'excepció verificada real dins d'una _UndeclaredThrowableException _ i llançarà la _UndeclaredThrowableException _ al seu lloc. ** Val a dir que la _UndeclaredThrowableException _itself és una excepció sense verificar.

Ara que ja coneixem prou la teoria, vegem alguns exemples del món real.

#java #spring

feedproxy.google.com

Quan Java llança UndeclaredThrowableException?

Veurem què provoca que Java llanci una instància de l'excepció _UndeclaredThrowableException.