Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LABORATORIO # 3
PROGRAMACIÓN III
TEMA:
INTRODUCCIÓN A LA ENTRADA CON “Excepciones”
PROFESOR:
DIEGO SANTIMATEO
FECHA DE ENTREGA:
JUEVES, 11 DE SEPTIEMBRE DE 2008.
ÍNDICE
I. INTRODUCCIÓN
II. CONTENIDO
1. Reflexione sobre la utilidad del manejo de las excepciones con el try … catch. ¿Qué entendió como
excepción?¿Cuál es la función del try y cuál la del catch? ¿En qué referencia se apoyó?
2. Pruebe el ejemplo y verifique su funcionamiento. ¿Cuál es el objetivo del programa? Incluya un
comentario que describa el trabajo del programa.
3. Compile el programa anterior sin usar throws IOException. ¿Qué ocurrió? ¿Qué método se asoció al
error producido?
4. Analice el programa anterior, identifique clases, objetos y métodos.
5. Coloque nuevamente throws IOException y provoque un error introduciendo una letra como segundo
valor capturado. ¿Qué ocurrió?.
6. Considere el siguiente ejemplo y provoque nuevamente un error:
¿Cuál fue la diferencia?
III. CONCLUSIÓN
IV. WEBGRAFÍA
INTRODUCCIÓN
Java cada uno de los procesos (entrada y salida) que realiza lo hace a través de flujos (streams) reconocidas como
secuencias continuas de datos. Divididos en streams de entrada llamados inputstream los cuales tienen una fuente y los
outputstream que tienen un destino.
Por esta razón un programa puede obtener datos desde una fuente leyendo una secuencia de caracteres de un stream que
se encuentre asociado a la misma y puede producir una salida desplegando de igual manera una secuencia de caracteres
a un stream asociado al destino.
Existen dos tipos de streams, los de bytes y los de caracteres, las clases para manejarlos las encontramos en el paquete
java.io el cual está provisto de una gran cantidad de ellas.
import java.io.*;
public class FlujoTeclado{
public static void main(String args[]) throws IOException{
El objetivo del programa es obtener del usuario por medio del teclado dos números enteros, los cuales son sumado
posteriormente.
A la hora empezar la construcción del mismo hay que tener en cuenta que en las operaciones de entrada se pueden
producir errores o excepciones, por lo cual utilizamos el mecanismo throws IOException que permite controlar o
identificarlos.
1. Creamos la secuencia continua de datos por medio un nuevo objeto llamado isr por medio de un constructor,
utilizando el objeto System.in de la clase InputStream pero como la misma sólo tiene métodos para leer bytes hacemos
uso de la clase Reader que contiene métodos para leer caracteres; teniendo también que transformar el objeto System.in
para poder usar dichos métodos. Esto se logro usando la clase InputStreamReader la cual nos da los caracteres sueltos .
2. Creamos un filtro para leer la cadena de caracteres ya que queremos capturar toda la linea y no los caracteres sueltos
emitidos en este caso por el teclado usando la clase BufferedReader en donde el constructor toma el objeto isr de la
clase InputStreamReader. Luego desplegamos en pantalla por medio de System.out.print() un mensaje indicando al
usuario que introduzca el primer numero por medio del teclado.
3. Realizamos la lectura de la cadena de caracteres mediante el método readLine().
4. Convertimos el objeto String leído a un valor numérico por medio de Integer.parseInt().
5. Utilizamos nuevamente System.out.print() para desplegar en pantalla un mensaje en donde le indicamos al usuario
que introduzca el próximo numero entero y repetimos los pasos 3 y 4.
6. Para finalizar realizamos el proceso que este caso es de suma.
2. Compile el programa anterior sin usar throws IOException. ¿Qué ocurrió? ¿Qué método se asoció al
error producido?
Al compilar el programa sin usar throws IOException java no permitió que el mismo corriera correctamente y presento
dos errores.
4. Coloque nuevamente throws IOException y provoque un error introduciendo una letra como segundo
valor capturado. ¿Qué ocurrió?.
Al colocar nuevamente throws IOException y se introduce una letra como segundo valor capturado, se produce un error.
5. Considere el siguiente ejemplo y provoque nuevamente un error: ¿Cuál fue la diferencia?
import java.io.*;
public class FlujoTeclado{
public static void main(String args[])throws IOException{
try {
//Creación del flujo para leer datos - caracteres
InputStreamReader isr=new InputStreamReader(System.in);
Para mi la diferencia de este programa con el del punto 4 al compilarlo y ejecutarlo se basa en el ingreso de los datos
correctamente lo cual lleva a que no se de ningún tipo de error. Sin embargo si se ingresan datos inaceptables al
ejecutarlo el mismo enviara errores.
6. Reflexione sobre la utilidad del manejo de las excepciones con el try … catch. ¿Qué entendió como
excepción?¿Cuál es la función del try y cuál la del catch? ¿En qué referencia se apoyó?
En los Lenguajes de programación en general se dan errores de distintos tipos, como los de sintaxis, entre otros en los
que el programa deje de funcionar correctamente. Java sin embargo llama a los mismos excepciones de error. El uso del
manejo de las mismas se toma como una opción para obviar faltas cuando se dan diferencias en los programas. Las
cuales en este caso deben manejarse por medio de instrucciones especiales de este compilador como try{…}, en el cual
escribimos el código con las instrucciones, métodos, objetos y procesos necesarios para que el mismo funcione
correctamente. En el es necesario la utilización de otra instrucción llamada catch() la cual se encarga de capturar dichas
excepciones las cuales nos van a indicar el error en el programa a la hora de su ejecución.
En realidad para responder a este punto al igual que el 5, me apoye en las explicaciones brindadas por el profesor junto
a las separatas que hablaban del mismo.
CONCLUSIÓN
A la ves el mismo me sirvió para aprender como se utilizan algunas instrucciones necesarias para la
identificación de los errores en un programa al ejecutarlo en Java.
WEBGRAFÍA
http://www.roseindia.net/java/example/java/io/ReadStandardIO.shtml.
http://www.roseindia.net/java/example/java/io/Java_io.shtml