Uploaded by rfatla82

BIS03 - Clase 12 - Diapositivas Archivos - Excepciones (Extra)

advertisement
Programación I
Para Tecnologías de
Información
11 Archivos de Texto
Agenda
- Gestión de archivos de texto
- Introducción a las Excepciones
Almacenamiento en memoria
Hemos utilizado en nuestras
aplicaciones diferentes estructuras
para almacenar información.
Iniciamos conociendo las variables y
constantes, hasta arreglos de datos
primitivos y objetos.
Pero todas estas estructuras son
volátiles, están disponibles en la
memoria mientras el programa se
encuentre en ejecución.
Archivos Planos
En muchas ocasiones, requerimos que
nuestras aplicaciones almacenen información
perdurable (que se mantenga aun después
de que la aplicación deje de funcionar).
En este caso tenemos varias opciones, una
de estas opciones es el manejo de archivos
planos que se ubicarán en nuestros discos
duros o unidades extraíbles y las cuales la
aplicación utilizará cuando así lo requiera.
Archivos Planos
Los archivos planos son archivos como
los que se encuentran en nuestros
equipos y con los que trabajamos día a
día, pero estos específicamente son
archivos cuya información no
tiene un formato específico, solo
cuentan con caracteres interpretables
por el ser humano y que pueden ser
gestionados por múltiples aplicaciones.
Ejemplo
Construiremos un ejercicio que utilice un arreglo para almacenar información
en memoria y un archivo plano para mantener esa información posterior a la
finalización de nuestro programa.
En nuestro ejercicio tendremos un menú de dos opciones, la
primera de ellas generará 10 valores entre 1 y 100 y los
almacenará en un arreglo, posteriormente los guardará en un
archivo plano.
La segunda opción leerá el archivo plano y mostrará los valores
almacenados.
Ejemplo
Creamos una instancia de la clase
Controlador, en donde se encuentra
toda la funcionalidad del arreglo y el
archivo
Definimos un menú con 2 opciones,
en la primera se generan los
números y se guardan en el archivo,
en la segunda se lee el archivo y se
muestran los valores
Ejemplo
Definimos el arreglo
Llenamos el arreglo por medio de un ciclo y
generan los números con el método
random() de la clase Math
Ejemplo
Se define el archivo físico y su ruta
Se crea la variable que se relaciona con
el archivo
Se escribe en el archivo cada uno de los
valores del arreglo
Se debe gestionar por medio de excepciones porque existen
funcionalidad que podrían estar fuera de nuestro control
Ejemplo
Se define el archivo
físico y su ruta
Se realiza un ciclo WHILE que se
repetirá hasta que se alcance el final
del archivo, dentro de este se
transforma la lectura en un entero y
se almacena en el arreglo
Se debe gestionar por medio de excepciones porque existen funcionalidad
que podrían estar fuera de nuestro control
Ejemplo
Recorre todo el arreglo y muestra por
consola sus valores.
Ejemplo
Al ejecutar el programa y seleccionar la opción 1, este generará los números y
los guardará en el arreglo (para tenerlos en memoria), además los guardará en
el archivo de texto, el cual se llamará “misdatos.txt” y se ubicará en la misma
ruta del proyecto.
Ejemplo
Podrá abrir este archivo con cualquier editor de texto. Si ejecuta el programa
nuevamente y selecciona la opción 2, este leerá del archivo de texto, colocará
la información en el arreglo y posteriormente mostrará por consola la
información almacenada.
Ejemplo
Es importante considerar algunos temas.
1. Si se ejecuta la opción 2 sin seleccionar la opción 1 previamente, el archivo no existirá y
el programa presentará un error.
2. Cada vez que se hace una lectura del archivo, se captura una línea del mismo, este
resultado siempre será un String aunque el valor que se haya almacenado sea un
entero, es por esto que se debe hacer la conversión.
3. Este tema es mucho más amplio, en este documento se ha presentado de manera
introductoria, investigue qué funcionalidad podría aplicar a su proyecto con la gestión
de archivos.
Excepciones
En el proceso de desarrollo siempre vamos a
encontrarnos con situaciones en las cuales nuestra
aplicación no va a funcionar, lo que generalmente
llamamos errores de programación.
Estos errores pueden presentarse por varias
razones.
-
Errores de sintaxis, palabras reservadas mal escritas o
mal utilizadas.
Errores de ejecución, programas bien escritos pero que
ejecutan acciones incorrectas.
Errores de diseño o funcionalidad, cuando nuestro
programa no hace lo que se esperaba aunque
técnicamente funcione.
Excepciones
En los errores del sintaxis, normalmente el IDE nos ayuda
a resolver estas situaciones y su corrección es sencilla
siempre que conozcamos el lenguaje.
También nos indica el origen del
error y hasta una posible solución
Netbeans nos ayuda, señalando
la instrucción incorrecta
Excepciones
En los errores de diseño o funcionalidad, el conocimiento
del desarrollador sobre la solución esperada y las pruebas
que se realicen serán la mejor manera de identificarlos
antes de que generen una pérdida de información, un mal
cálculo matemático, etc.
Se pretende incrementar el precio en un 13%, pero solamente se hace en un
1.3%. Para el intérprete esto no es un error, para la operación de una
empresa, puede ser un error grave
Excepciones
En los errores de ejecución, existe la posibilidad de que estos errores nosotros
los podamos controlar.
Si el segundo valor es 0 provocará
un error
Con un IF podemos condicionar la
ejecución de la división
Excepciones
Pero hay otros posibles errores que son más difíciles de controlar, como
problemas de conectividad, entrada de datos, archivos no encontrados o
cualquier otro recurso cuya condición no sea la misma al momento en que se
programó y que su existencia no dependa del programa.
Para estos casos utilizamos el manejo de
excepciones que es una técnica de programación
que permite gestionar los errores de ejecución,
redireccionando el flujo del programa, haciendo un
llamado a otros métodos o enviando mensajes, etc.
Excepciones
En este proceso “tratamos de capturar” los
errores en el momento que se presentan y lo
gestionamos de manera que condicionamos lo
que queremos que suceda en caso de
presentarse.
Igualmente tenemos la posibilidad de gestionar
un bloque de código que se realice cuando se
presente o no un error.
Excepciones
Marca el inicio del bloque TRY
Contiene el código gestionado
En caso de que falle
Siempre se ejecutará
Excepciones
La instrucción TRY marca el inicio del bloque, todo el código que se encuentre
ubicado dentro de este bloque será controlado y en caso de que se presente
una excepción, la ejecución se detendrá en ese punto y se iniciará la ejecución
del bloque CATCH
Excepciones
En el bloque CATCH se encontrarán las acciones en caso de que se presente en
un error en el bloque TRY, este bloque recibe un parámetro de tipo Exception
u otro tipo relacionado, con este parámetro se puede conocer información
propia del error presentado.
Variable de tipo Exception
Método de la clase Exception que
retorna el mensaje del error
Excepciones
En el bloque FINALLY encontraremos el código que requerimos que se ejecute
al final sin importar si se presentó un error o no. Este bloque de código es
opcional.
Excepciones
La clase EXCEPTION
cuenta con algunos
métodos que nos
permiten conocer el
origen y descripción del
error. Esta clase tiene
otras más específicas en
donde se pueden conocer
errores con mayor
detalle.
Puede utilizar el tipo EXCEPTION o la clase que mejor se ajuste al
tipo de excepción, inclusive puede tener varias.
Excepciones
Se cuenta con varios bloques CATCH, considerando que una vez que
se utiliza uno, los otros se ignoran, por lo que se dejan los más
generales para el final.
Excepciones
Las excepciones debemos utilizarlas con mesura, en los lugares en las que las
necesitamos y de la manera más conveniente para que nos ayuden a controlar
los errores en bloques funcionales muy bien definidos.
Desarrolle un ejercicio muy simple en donde se le solicite al usuario dos valores
enteros y muestre el resultado de aplicar las cuatro operaciones básicas,
analice con su profesor la necesidad de excepciones, forma y ubicación de las
mismas.
Gracias
Download