La vida

Solo disponible en BuenasTareas
  • Páginas : 6 (1319 palabras )
  • Descarga(s) : 0
  • Publicado : 28 de abril de 2011
Leer documento completo
Vista previa del texto
Excepciones
Excepciones
El término excepción se utiliza en Java cuando algo salió mal, es decir, cuando ocurrió un error. Como todos sabemos, existe un gran número de situaciones por las que el software puede fallar, pero si queremos hacer software de calidad, debemos tomar conciencia que las clases de aplicaciones o applets que desarrollemos, en Java, deben manejar las excepciones. En Java unaexcepción es un objeto que define una situación inusual o un error. Una excepción es entonces un evento que sucede con algún error, pero es algo que no debiera pasar, resulta en la lógica de la clase en la que ocurre, y debemos de cuidarnos de no cometer un error de lógica.
Normalmente Java nos detecta algunos errores en los que pudiera suceder una excepción y nos pide que declaremos el lugar enel que puede ocurrir, si es que no la manejaremos, entonces un programa puede estar diseñado para procesar las excepciones en tres formas distintas:
. No manejarla
. manejar la excepción cuando ocurre
. manejar la excepción en algún otro punto del programa
Una excepción tan sencilla se puede revisar en el siguiente ejemplo:
public class AplicacionExcepcion1 {
public static void main(Stringargs[]) {
System.out.println("Antes del error");
System.out.println("Division por cero = " + 3 / 0);
System.out.println("Despues del error");
}
}
En este ejemplo observamos como primero se despliega un letrero “Antes del error”, después se despliega un cálculo en el que sabemos que habrá un error y finalmente se despliega otro letrero “Después del error”.
Al ejecutar la aplicación anteriorobservamos lo que sucede:
IV.Desarrollo de aplicaciones con manejo de archivos de texto y de excepciones en JAVA
Vemos como se despliega el letrero “Antes del error”, pero después observamos el error de ejecución denominado en Java una excepcion, la Arithmetic Exception, esta excepción sucede cuando tratamos de dividir un número por cero, por eso mismo no alcanzamos a ver el mensaje “Después delerror”, ya que al haber error de ejecución, se termina de usar la aplicación.
Hay excepciones las cuales el compilador las marca desde un inicio y nos pide que nos protejamos para eso, por ejemplo la siguiente aplicación fue escrita para pedir un número al usuario y obtener el cuadrado de ese número:
import java.io.*;
public class AplicacionExcepcion1 {
public static void main(String args[]){
BufferedReader in =
new BufferedReader(new InputStreamReader(System.in));
int n;
System.out.println("Da el numero");
n = Integer.parseInt(in.readLine());
System.out.println("El cuadrado del numero = " + n*n); }
}
Pero al compilar dicha aplicación observamos que no compila, el compilador manda el siguiente mensaje:
Nos está diciendo que al momento de tratar de leer un dato, puede haberun error de ejecución el cual debe ser capturado para que la aplicación no falle. Pero que tipo de error puede ocurrir, pues si se supone que se pide un número y el usuario no da un número,
sino un nombre, entonces habrá problemas con la aplicación y se terminará.
La aplicación se compila entonces marcando la excepción que puede lanzar de la siguiente manera:
import java.io.*;
public classAplicacionExcepcion2 {
public static void main(String args[]) throws IOException {
BufferedReader in =
new BufferedReader(new InputStreamReader(System.in));
int n;
System.out.println("Da el numero");
n = Integer.parseInt(in.readLine());
System.out.println("El cuadrado del numero = " + n*n); }
}
Vemos que al declarar lo que está en repintado, la aplicación si compila, es decir, ahora sipodemos ejecutarla tranquilamente, por ejemplo:
Pero si nos ponemos a analizar, la aplicación todavía puede fallar, es decir, ¿qué pasa si en lugar de un número entero le damos un número con decimales?
Vemos como da una excepción llamada NumberFortmatException, con el valor de 5.5
Por otra parte, ¿qué pasa si le damos letras en lugar de números?
Vemos como también nos da el error de excepción...
tracking img