Categorías destacadas
programacion php    
Artículo
16
¡votar!

 Manejo de Errores Usando Excepciones Java


El Ejemplo ListOfNumbers

Las dos secciones siguientes que cubren la captura y especificación de excepciones utilizan este ejemplo.

import java.io.*;
import java.util.Vector;

class ListOfNumbers {
    private Vector victor;
    final int size = 10;

    public ListOfNumbers () {
        int i;
        victor = new Vector(size);
        for (i = 0; i < size; i++)
            victor.addElement(new Integer(i));
    }
    public void writeList() {
        PrintStream pStr = null;
        
        System.out.println("Entering try statement");
        int i;
        pStr = new PrintStream(
                  new BufferedOutputStream(
                     new FileOutputStream("OutFile.txt")));
        
        for (i = 0; i < size; i++)
            pStr.println("Value at: " + i + " = " + victor.elementAt(i));

        pStr.close();
    }
}

Este ejemplo define e implementea una clase llamada ListOfNumbers. Sobre su construcción, esta clase crea un Vector que contiene diez elementos enteros con valores secuenciales del 0 al 9. Esta clase también define un método llamado writeList() que escribe los números de la lista en un fichero llamado "OutFile.txt".

El método writeList() llama a dos métodos que pueden lanzar excepciones. Primero la siguiente línea invoca al constructor de FileOutputStream, que lanza una excepción IOException si el fichero no puede ser abierto por cualquier razón.

pStr = new PrintStream(new BufferedOutputStream(new FileOutputStream("OutFile.txt")));

Segundo, el método elementAt() de la clase Vector lanza una excpeción ArrayIndexOutOfBoundsException si se le pasa un índice cuyo valor sea demasiado pequeño (un número negativo) o demasiado grande (mayor que el número de elementos que contiene realmente el Vector). Aquí está cómo ListOfNumbers invoca a elementAt().

pStr.println("Value at: " + i + " = " + victor.elementAt(i));

Si se intenta compilar la clase ListOfNumbers, el compilador dará un mensaje de error sobre la excepción lanzada por el constructor de FileOutputStream, pero no muestra ningún error sobre la excepción lanzada por elementAt().

Esto es porque la excepción lanzada por FileOutputStream, es una escepción chequeada y la lanzada por elementAt() es una ejecución de tiempo de ejecución. Java sólo requiere que se especifiquen o capturen las excepciones chequeadas. Para más información, puedes ve Requerimientos de Java para Capturar o Especificar.

La siguiente sección, Captura y Manejo de Excepciones, le mostrará cómo escribir un manejador de excepción para el método writeList() de ListOfNumbers.

Después de esto, una sección llamada Especificar las Excepciones Lanzadas por un Método, mostrará cómo especificar que el método writeList() lanza excepciones en lugar de capturarlas.

Publicado por:
Ricard Lou Torrijos
Recomendar
a un amigo
Compartir
en redes
 
Comentarios
JUAN DANIEL URREGO A. dice:

Felicitaciones esta ecelente toda esta info...gracias me han ayudado mucho.

27/08/2010, a las 05:41:17
 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon