Manejo de archivos de texto y ecepciones java

Solo disponible en BuenasTareas
  • Páginas : 6 (1329 palabras )
  • Descarga(s) : 0
  • Publicado : 10 de septiembre de 2010
Leer documento completo
Vista previa del texto
[pic]

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 Javauna excepció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 ellugar en el 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(String args[]) {
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 anterior observamos lo que sucede:
[pic]
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 del error”, ya que alhaber 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:
[pic]
Nos está diciendoque al momento de tratar de leer un dato, puede haber un 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 lasiguiente manera:
import java.io.*;

public class AplicacionExcepcion2 {
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 loque está en repintado, la aplicación si compila, es decir, ahora si podemos ejecutarla tranquilamente, por ejemplo:
[pic]
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?
[pic]

Vemos como da una excepción llamada NumberFortmatException, con el valor de 5.5

Por otra parte, ¿qué...
tracking img