Considere el siguiente códigoExcepciones no facturado
private int meth()
{
try
{
return 1;
}
catch(Exception ex)
{
return 2;
}
finally
{
return 3;
}
}
Cuando se compila el código aforeseen, "excepción" se trata como excepción sin marcar. Es decir "bloque catch inalcanzable Excepción Nunca se lanza en bloque try" error de compilación no occur.Consider estoy declarando mi propia excepción,
class MyException extends Exception
{
}
y su uso en el código
private int meth()
{
try
{
return 1;
}
catch(MyException me)
{
return 2;
}
finally
{
return 3;
}
}
En este "El bloque catch inalcanzable MyException nunca se arroja en el bloque try" se produce un error de compilación. ¿Por qué en el primer escenario "Excepción" se trata como RuntimeException y en el segundo escenario, aunque "MiExcepción" es una subclase de "Excepción", se trata como excepción comprobada. ¿Puede alguien ayudarme a resolver este problema?
Esa sería mi suposición, porque trata las excepciones de JVM como Excepción de que se puede lanzar, pero sabe que no se puede lanzar una excepción definida por el usuario a menos que haya una llamada "throw" en cualquier parte del intento. – nlaq