Bueno este post surge de que yo antes no entendia esto de las excepciones, pero afortunadamente ya he empezado a tomarles el hilo, bien ahora explicare unos detalles:
Primero que nada he de decir que yo utilizo eclipse como entorno de desarrollo, asi que el codigo esta hecho en este IDE.
Ahora para este ejemplo utilizaremos tres clases, una la llamaremos “Banco”(llevara la programacion), otra llamada “CuentaCeroException”(esta sera nuestra excepcion, por ultimo usaremos una clase “Test” que sera donde se ejecutara nuestra aplicacion.
Aqui les presento los codigos de cada clase.
Empezaremos con nuestra excepcion (CuentaCeroException).
package practicaExeptions;
public class CuentaCeroException extends Exception{
/*Esta es nuestra Exepcion, recordar que todas las exepciones heredan(extienden) de la clase
* “Exception”. Como ven se declara igual que una clase normal.
*/
public CuentaCeroException(){
/*Aqui mandamos llamar el constructor de la clase padre con un parametro por default.
* (eso es el significado de la palabra “super”, ejecutar el constructor de la clase padre.
*/
super(”Error por default”);
}
public CuentaCeroException(String mensaje){
/*Este es otro constructor pero recibe un parametro que sera un mensaje, y despues llamamos
* al constructor de nuestra clase padre.
*/
super(mensaje);
}
}
Ahora seguimos con nuestra clase “Banco”.
package practicaExeptions;
public class Banco {
private double saldo=0.0;
public double getSaldo() {
return saldo;
}
public void setSaldo(double saldo) {
this.saldo = saldo;
}
public void sustraerCuenta(int cantidad) throws CuentaCeroException{
double temporal;
temporal=saldo-cantidad;
if (temporal<0){
/* bueno de esta clase creo que lo unico a explicar es este pequeño throw.
* aqui preguntamos si tenemos el dinero suficiente para hacer el retiro,
* como en este caso no es suficiente tiramos nuestra exepcion, el mensaje entre
* comillas es el parametro, recuerda que puedes ponerle el mensaje que quieras,
* y si no se lo pones se pondra uno por default.
*/
throw new CuentaCeroException(”Lo sentimos su cuenta no tiene saldo suficiente!!”);
}
else{
/*en caso de que la operacion si se pueda realizar simplemente se ejecutan estas
*instrucciones.
*/
saldo=temporal;
System.out.println(”xxx”);
}
}
}
Por ultimo solo nos queda la clase “Test”
package practicaExeptions;
public class Test {
/* En esta clase estara nuestro metodo main, que es donde se inicia nuestra aplicación.
* dentro del metodo main creamos una instancia de nuestra clase Banco(que yo la he llamado
* ban).
*/
public static void main(String[] args) {
Banco ban=new Banco();
try{
/*El codigo que este dentro de nuestro try, sera el que sabemos que puede generarnos un
* error, en nuestro caso el error sera porque tratamos de sacar dinero de una cuenta que
* se encuentra en ceros.
*/
ban.sustraerCuenta(1);
//aqui llamamos al metodo para retirar dinero y le damos un parametro que es la cantidad a
//retirar.
}
catch(CuentaCeroException ex){
/* El catch es el que nos atrapa (cacha) la exepcion, “CuentaCeroException” es el nombre
* de nuestra exepcion, y “ex” es como nos referiremos a ella.
*/
ex.printStackTrace();
//”.printStackTrace” es un metodo que nos servira para imprimir nuestro error.
}
}
}
Pues ahora solo nos queda ejecutar el programa y nos deberia mandar el siguiente error en la consola:

No crean que esta mal de hecho este es el mensaje que nos debe mandar, bueno ahora solo queda experimentar y aprender más.
Nos vemos, espero que les sirva, hasta la proxima.








