try todas tipos solo propagacion personalizadas number mas letras las excepciones ejemplos comunes catch java exception

tipos - todas las excepciones en java



¿Cómo puedo escribir excepciones personalizadas? (4)

¿Cómo puedo crear una nueva Exception diferente de los tipos prefabricados?

public class InvalidBankFeeAmountException extends Exception{ public InvalidBankFeeAmountException(String message){ super(message); } }

Mostrará la advertencia para la InvalidBankFeeAmountException que está escrita en la primera línea.


Asegúrese de no excederse con excepciones, especialmente excepciones marcadas. Recomiendo leer el Capítulo 9 de Effective Java de Joshua Bloch, y en particular su Item 60 (Favorecer el uso de excepciones estándar). Sus recomendaciones también incluyen el uso de excepciones comprobadas para excepciones que pueden recuperarse, el uso de excepciones no verificadas (RuntimeExceptions) para errores de programación y evitar el uso innecesario de excepciones marcadas.

Si se lanza una excepción InvalidBankAccount cada vez que se encuentra un error de programación, es probable que solo desee lanzar una Java IllegalStateException no seleccionada estándar en su lugar. (Esto deja de lado la necesidad de declarar serialVersionUID).


Echa un vistazo a:

http://www.onjava.com/pub/a/onjava/2003/11/19/exceptions.html?page=1

Un ejemplo se da allí en la página 2:

public class DuplicateUsernameException extends Exception { public DuplicateUsernameException (String username){....} public String requestedUsername(){...} public String[] availableNames(){...} }

junto con un conjunto de pautas para cuándo y por qué crearías tus propias excepciones.


Todo lo que necesita hacer es crear una nueva class y hacer que extend Exception .

Si desea una Exception que no esté seleccionada, debe extend RuntimeException .

Nota : Una Exception marcada es una que requiere que rodees la Exception en un bloque try / catch o que tengas una cláusula '' throws '' en la declaración del método. (como IOException ) Exceptions marcar se pueden lanzar igual que las Exceptions comprobadas, pero no es necesario que las maneje explícitamente de ninguna manera ( IndexOutOfBoundsException ).

Por ejemplo:

public class MyNewException extends RuntimeException { public MyNewException(){ super(); } public MyNewException(String message){ super(message); } }


solo extienda cualquiera

  • Exception , si desea que se verifique su excepción (es decir, se requiere en una cláusula throws)
  • RuntimeException , si desea que su excepción no esté marcada.