Informe del Laboratorio sobre Flujo 10/09/08 Misael Rodriguez. 8-406-874 1. Pruebe el ejemplo y verifique su funcionamiento. ¿Cuál es el objetivo del programa? Incluya un comentario que describa el trabajo del programa. El objetivo del programa es el de sumar dos números introducidos mediante el teclado. El programa le pide al usuario que introduzca un valor, este valor es capturado por el programa como un carácter, luego mediante un método (parseInt) transforma caracteres a números enteros y lo guarda en una variable(num1). Entonces el programa pide introducir otro valor y sucede lo mismo que en el primer valor y es guardado en una variable(num2). Luego mediante el método println se despliega el valor de las variables y la suma de ambas.
1. Compile el programa anterior sin usar throws IOException. ¿Qué ocurrió? ¿Qué método se asoció al error producido? Se presentaron dos errores . El método asociado con el error es el readLine( ). 3. Analice el programa anterior, identifique clases, objetos y métodos. Clases: FlujoTeclado, InputStreamReader, BufferedReader. Métodos :readLine(), parseInt(), println(). Objetos: System.in, System.out, isr, br. 4. Coloque nuevamente throws IOException y provoque un error introduciendo una letra como segundo valor capturado. ¿Qué ocurrió?. Al introducir un valor no numérico como segundo valor el programa no funcionó por que el throws IOException encontró un error, en este caso de formato, donde nos desplegó en pantalla el error que este tenía. 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); //Creación del filtro para leer cadena de caracteres BufferedReader br=new BufferedReader(isr); System.out.print("Teclea el primer numero: "); //Lectura de datos mediante el método readLine() String texto1=br.readLine(); //Conversión a int de la String anterior para poder sumar int num1=Integer.parseInt(texto1); System.out.print("Teclea el segundo numero: "); String texto2=br.readLine(); int num2=Integer.parseInt(texto2); //Sumar los dos enteros System.out.println("Suma de "+num1+" y "+num2+" es "+(num1+num2)); } catch(Exception e) { System.out.println( "Error en la captura****" ); } }
//fin del main
}
En este caso el programa despliega el mensaje ("Error en la captura****" ) porque encontró un error, que se dio al introducir los valores , ya que se utilizaron los bloques try...catch.
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ó?
Con la utilización del try...catch en un programa, si se encuentra una excepciones o error solo despliega un mensaje si se da un error puesto que al no darse el try realiza su función normal. Entendí como excepción que son los errores que se dan en un programa al introducir los valores o si estos no están bien definidos dentro del programa, ya sea por conversión de ellos u otro caso. La función del try es la de realizar la parte del código que esta dentro de su bloque en forma normal y la del catch es la de enviar un mensaje se ha habido algún error, y así no lo envía el mismo java.