La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Unidad 36. Captura de errores en VB (I) 36.1 Objetivos del tema. Iniciarse en la gestión de los errores a nivel de programación.

Presentaciones similares


Presentación del tema: "Unidad 36. Captura de errores en VB (I) 36.1 Objetivos del tema. Iniciarse en la gestión de los errores a nivel de programación."— Transcripción de la presentación:

1

2 Unidad 36. Captura de errores en VB (I)

3 36.1 Objetivos del tema. Iniciarse en la gestión de los errores a nivel de programación.

4 Todo programa tiene un nivel de calidad. La calidad vendrá marcada por distintos factores, un buen análisis, una buena depuración, etc..., y un adecuado control y captura de errores. Un programa no debe finalizar nunca de forma brusca, siempre debe tener una salida ante cualquier contingencia, por dos motivos, por elegancia en la programación, y otro, el más importante, porque de esa forma se consigue la posibilidad, si se desea, de dejar un histórico de fallos, que después permitirá obtener datos para la solución de los mismos.

5 En la captura de errores, hay que tener presente que no siempre son errores de ejecución, si no que en muchas ocasiones la única forma de poder tomar la decisión adecuada en un momento determinado, es la de forzar un fallo en el programa, para su captura posterior.

6 En VB disponemos de dos formatos de captura de errores. ON Error GoTo Etiqueta Try Catch El sistema del On Error, viene heredado de versiones lejanas del Basic de Microsoft, y ahora se denomina sistema no estructurado. Estructurado o no, es un sistema comodísimo de utilizar, aunque está claro que llamado a su desaparición. El segundo sistema, el uso de la instrucción Try, es el denominado estructurado. Tiene como inconveniente la gestión de un sinfín de posibilidades de gestión de errores a las que hay que anticiparse y prever para su adecuada utilización. Por otro lado la no escritura de captura de errores es otro sistema de gestión de los mismos, pues eso da como resultado una salida hacia arriba hasta encontrar un procedimiento en la línea de llamadas que si los gestiona.

7 36.3. On Error. Como hemos comentado anteriormente es un antiguo sistema, cómodo y practico. Tiene distintas variaciones. Su estructura en un procedimiento o función es : Prívate Sub Ejemplo On Error Goto Errores Salida: Exit Sub Errores: Select case Err.Number Case Codigo_Error Resume Case Codigo_Error Resume Salida Case Codigo_Error Resume Next Case else Procedimiento_Salida_Error_Imprevisto End select End Sub

8 La ejecución del procedimiento o función se realiza de manera normal, hasta que se produce una situación de error, en ese momento se desvía la ejecución a la zona de captura de errores donde se trata el mismo, pudiéndose tomar las siguientes opciones según interese: Resume Vuelve donde se produce el error Resume Next Vuelve a la siguiente instrucción que provocó el error Resume Etiqueta Se desvía la ejecución a la etiqueta indicada. Cualquiera de estas posibilidades es factible. Se suele tener un procedimiento alternativo para la situación imprevista. El código del procedimiento debe tener la estructura indicada en el ejemplo, de esa manera se abandona el procedimiento de forma normal cuando no hay errores. Salida: Exit Sub

9 El disponer de la etiqueta Salida:, facilita como opción el desviar la ejecución por tratamiento de error a la salida del procedimiento. El objeto Err dispone de métodos para facilitar una descripción del error y de su código cara al usuario. Resume Salida

10 36.4. Try Catch. Es el denominado sistema estructurado, es algo engorroso, pues hay que escribir cada bloque de código con su propia estructura de tratamiento de errores lo que resulta incomodo. Obliga a prever que tipos de error se pueden producir para darles salida a los mismos. La estructura de una instrucción try es la siguiente. Private Sub Ejemplo() Dim A, b, c As Integer Try ' el programa A = b / c Catch Ex As OverflowException ' tratamiento de error Console.WriteLine("Error overflow del tipo {0}", Ex.Message) Catch Ex As ArithmeticException ' tratamiento de error Console.WriteLine("Error aritmético del tipo {0}", Ex.Message) Finally ' siempre se ejecutará Console.WriteLine("Siempre se ejecutará") End Try End Sub

11 Try ' el programa A = b / c Catch Ex As OverflowException ' tratamiento de error Alberga nuestro código a proteger. Catch Ex As OverflowException ' tratamiento de error Console.WriteLine("Error overflow del tipo {0}", Ex.Message) Es la parte de tratamiento de error previsto en el tipo definido por As OverflowException Finally ' siempre se ejecutará Console.WriteLine("Siempre se ejecutará") Todo lo que se escriba entre Finally y End Try siempre se ejecuta, pase lo que pase, excepto un aborto de ejecución del programa. Como se puede comprobar en el ejemplo se pueden abordar diversas situaciones de error en un mismo Try.

12 36.5. Inhibición. En VB se podría decir que es una inhibición real, pues no hacer nada, implica que el error se devuelve por la línea de ejecución hasta encontrar un procedimiento que lo trata o se llega al programa principal y se aborta el programa por error manifiesto Conclusiones. Con el desvío de excepciones se obtienen varias ventajas, e inconvenientes. Se reduce el volumen de código, por lo que es más sencillo de releer y seguir. También se obtiene de esa forma la posibilidad, de que cuando se crea código para terceros, se deja la forma o la interface de los mensajes de error, en manos de quien la usa, lo cual en la mayoría de los casos es una buena alternativa, ya que el código queda completamente integrado en el programa donde se incrusta la clase. Evidentemente tiene como inconveniente, que no responsabilidad, de que eso genere una ejecución inadecuada, pero lo será por quien la usa, no por quien la escribió.

13

14 37.1. Objetivos del tema. Entrar en la filosofía de utilización de los archivos en programación.

15 37.2. Introducción. En todos los programas es necesario en algún momento la conservación y la recuperación de datos. La información que se maneja en el ordenador esta gestionada en base a dos medios de almacenamiento, uno temporal como es la memoria y otro mas duradero como es el soporte magnético. Las diferencias entre ambos, a parte del tema de la ejecución de los programas, estriban en la capacidad de permanecer la información en los soportes cuando el ordenador es desconectado, mientras que la memoria no tiene esa característica, además la capacidad de almacenamiento de la memoria es reducida.

16 37.3. Gestión de los archivos. Con el considerable volumen al que llegan los soportes es imprescindible una adecuada gestión de los mismos para aprovechar su capacidad y aligerar al máximo la localización de los datos en los mismos. Para ello es necesario establecer una serie de características y sistemas que nos faciliten la gestión de administración del sistema de archivos. Por otro lado, ya internamente, también existirá un sistema y una estructura para la gestión de cada uno de los registros que componen el archivo. Tablas de asignación de archivos en los soportes. Cuando un soporte es de escasa capacidad no existen problemas en la gestión del mismo, de hecho en los primeros sistemas de cinta se asignaba una cinta por archivo, los primeros P. C. usaban un disquete de 160 kb. y no tenían directorios. Pero a medida que se amplía la capacidad es necesario mejorar la asignación y agilizar los accesos, lo cual obliga a tener un sistema ágil de gestión, a tener una tabla de la distribución de los espacios que sea fácil y rápida de manejar.

17 Las tablas de asignación de archivos varían su estructura de uno a otro S. O., pero básicamente los datos que contienen son los siguientes. Nombre. El nombre con el que el programador le asigna cuando lo crea. Este nombre reunirá una serie de características léxicas y sintácticas que varían en función del S. O. como longitud, extensiones, tipos de caracteres a usar. Las extensiones se utilizan para identificar los archivos del mismo tipo. El nombre incluye la dirección del archivo en el ordenador o en el lugar en el que esté colocado. Unidad:\Archivo.Ext C:\Archivo.ext \\Ordenador\Unidad:\Archivo.Ext \\Ordenador\C:\Directorio\MiArchivo.ext

18 Tamaño. El tamaño hace referencia al volumen de datos que tiene el fichero generalmente, no al espacio que ocupa en disco, que puede ser superior. Se mide en bytes, palabras o bloques. Ubicación. Hace referencia a una dirección de inicio del archivo, o donde esta el puntero del último registro. Luego cada uno de los bloques que el archivo ocupa está encadenado con los otros bloques que ocupa. Propiedades, atributos, protecciones, permisos. Características del archivo, una serie de bytes que activados o no indican las propiedades del archivo, posibilidades de acceso para el control de lectura y escritura. Datos de fecha y hora. Ultima fecha de cuando se modificó o creó el archivo.

19 37.4. Estructura de un archivo. La estructura de un archivo va depender del destino que tenga el contenido del mismo. No va a ser el mismo tipo de estructura el de un archivo de video o sonido que el de un archivo de datos. Empezando por los archivos de datos, en ellos vamos a encontrarnos básicamente con dos tipos de estructuras. Entendemos por estructura la distribución de los datos en el archivo Un archivo se compone de registros, filas si deseamos llamarlo así. Cada registro se divide a su vez en campos, o columnas si deseamos llamarlo así. Cada uno de los campos contendrá una información y le corresponderá un tipo de datos de los que el lenguaje de programación contemple.

20 A su vez puede darse el caso que un archivo pueda tener distintos tipos de estructuras: Todos los registros son iguales. Hay uno o varios registros de cabecera. Registros de detalle. También se puede dar dos tipos de registros: Registros de longitud fija. Registros de longitud variable.

21 37.5. Tipos de archivos, por su direccionamiento. Hay dos tipos de archivos No direccionables. Direccionables. Los archivos no direccionables son archivos en los cuales no podemos acceder a un registro de datos sin haber leído previamente los anteriores. A pesar de su característica, no están por ello en desuso ya que tiene como contrapartida lo compacto que son ya que el aprovechamiento del espacio ocupado es del cien por cien.

22 Suelen utilizarse para almacenar información que se intercambia entre distintos procesos o empresas para el envío de información en formatos compatibles. Los archivos direccionables permiten acceder a la información sin haber leído los registros anteriores, lo cual les da velocidad en el acceso. Se pueden grabar en cualquier tipo de soporte, ya que al no ser direccionable, no requiere que el soporte lo sea. A cambio, nunca hay nada gratis, no son tan compactos como un archivo secuencial, por el sistema de direccionamiento necesario en su gestión. Se tiene que grabar en un soporte direccionable, no se pueden grabar en una cinta de casete por ejemplo.

23 37.6. Tipos de archivos, por su contenido. Podemos crear dos grandes tipos. Los archivos de programa en sus distintos formatos, y el resto de archivos que serán siempre archivos de datos en sus distintas facetas. Configuración del sistema Ordenes para el sistema Datos Texto Sonido Imágenes Video

24 Cada uno de estos tipos de archivo dispondrá de una estructura definida por el creador del formato. Un archivo de ordenes puede ser de este tipo en MS-DOS, Windows. Echo Script respaldo-bd.sh Rem C:\Windows\Command Rem Respaldar DB2 y Websphere Rem Probe: Trae Echo Echo " Generando respaldo de los FS de usuarios, WebSphere y db2...." tar cvf \dev\rmt0 \usr\usuarios \usr\local\WebSphere \usr\local\Software \usr\local\db2\dbgis Echo " Fin del respaldo OK " Echo " DONE " Echo

25 Suponiendo que estas direcciones fueran posibles y el comando existiera. En LINUX de esta forma Script respaldo-bd.sh #!/bin/ksh #Respaldar DB2 y Websphere #Probe: Trae # echo "" echo " Generando respaldo de los FS de usuarios, WebSphere y db2...." tar cvf /dev/rmt0 /usr/usuarios /usr/local/WebSphere /usr/local/Software /usr/local/db2/dbgis sleep 5; echo " Fin del respaldo OK " echo " DONE " echo # Lo mismo sucede con los archivos de sonido, imágenes, video, etc. A su vez cada uno de estos archivos tiene asociado un programa que es capaz de leerlo para interpretar y poder utilizar sus datos.

26 37.7. Tipos de archivos, por su duración en el tiempo. Los archivos también pueden clasificarse por el uso que se hace de ellos. Copias de seguridad. Son archivos que tienen la imagen de otro igual a ellos, en otro soporte o directorio. De trabajo, temporales. Son los que se crean de forma provisional para realizar un trabajo y al finalizar el trabajo desaparecen. Maestros. Contienen todos los datos de una determinada información, clientes, artículos, proveedores, etc.. Movimientos. Contienen información cuya duración es breve, pues esta a la espera de ser procesada para desaparecer una vez ejecutado el programa de bajas de clientes, altas, una vez ejecutado el programa ya no hace falta la información. Histórico. Contienen la información que es el resultado de procesos normales de gestión de periodos de tiempo ya pasados, facturas, movimientos contables, calificaciones.

27 37.8. Estructuras de los registros. Los registros de datos pueden grabarse básicamente en dos tipos de formatos. Con delimitadores de campos Sin delimitadores de campos En el primer caso permite sin ningún problema los registros de longitud variable, en el segundo normalmente serán de longitud fija. Los delimitadores son las comas para separar los campos y las comillas para delimitar los campos de texto, los campos numéricos no llevan delimitadores de campo. Al final de cada registro hay una marca de final de registro. Este registro puede ser indistintamente de longitud fija o variable.

28 37.9. Actuaciones con archivos. Desde el momento en que un archivo se utiliza para almacenar datos se hace imprescindible el implementar un sistema de mantenimiento de dicha información. Esos procesos se basan en procesos de actualización y de impresión. 1 Procesos de actualización. Implica el diseño de programas que permitan la Inserción Adición de registros no existentes. Actualización Modificación del contenido de datos existentes. Borrado Eliminación de datos.

29 2 Procesos de impresión. Los procesos de impresión pueden o no considerarse dentro de los anteriores, es cuestión de gustos. La impresión de los datos habitualmente implica ofrecer la posibilidad de obtener los datos clasificados por alguno de los datos que existen en el archivo, alfabéticamente, por código, por cursos, por población, etc..

30


Descargar ppt "Unidad 36. Captura de errores en VB (I) 36.1 Objetivos del tema. Iniciarse en la gestión de los errores a nivel de programación."

Presentaciones similares


Anuncios Google