Dprn2_u3_a1_gudg

  • Uploaded by: Guillermo Duran Garcia
  • 0
  • 0
  • January 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Dprn2_u3_a1_gudg as PDF for free.

More details

  • Words: 1,672
  • Pages: 8
Loading documents preview...
Programación .NET II Unidad 3.

Actividad 1. Crisis del Software

UNADM Unidad 3 Actividad 1 Crisis del Software AL12524075 Guillermo Durán García

Programación .NET II Unidad 3.

Actividad 1. Crisis del Software

Analizar un tipo de error mediante un caso de tu elección y relacionarlo con los conceptos de errores de formato, errores de captura y situaciones inesperadas, sigue estos pasos: 1. Investiga las causas y consecuencias del tipo de error ocurrido. 2. Explica detalladamente en qué consiste el tipo de error ocurrido, e identifica si fue de formato, por error de captura, situaciones inesperadas u otro tipo de error. Integra sus características y argumenta por qué consideras que representa el tipo de error mencionado. 3. Integra el desarrollo de tu actividad en un documento con carátula y los datos de identificación completos, posteriormente guárdala con la nomenclatura DPRN2_U3_A1_XXYZ. Sustituye las XX por las dos primeras letras de tu primer nombre, la Y por tu primer apellido y la Z por tu segundo apellido. 4. Consulta los criterios de evaluación de la actividad A1_Escala_de_evaluacion_dprn2_u3.docx para que los consideres en el desarrollo de la misma. 5. Ingresa al Foro con subida de archivos y participa respondiendo a los planteamientos y línea de discusión. Redacta en el cuadro de texto una breve reseña de tu actividad no mayor a cinco renglones y a continuación adjunta tu archivo. Al finalizar da clic en enviar para publicarlo y esté accesible a tus compañeros y docente en línea. 6. Ingresa a la participación de uno de tus compañeros, y lee detenidamente su actividad, analízala y realiza un comentario mencionando las aportaciones a tu propia comprensión sobre el tema. 7. Espera y atiende la retroalimentación correspondiente. 8. Revisa también la Rúbrica general de participación en foros (que puedes consultar en el apartado Material de apoyo) para que consideres los aspectos a evaluar en las participaciones en foros.

Programación .NET II Unidad 3.

Actividad 1. Crisis del Software

En Visual C#, una aplicación ejecutable se genera haciendo clic en Generar en el menú Generar (o presionando CTRL+MAYÚS+B). Puede generar e iniciar la aplicación de un solo paso presionando F5 o haciendo clic en Ejecutar en el menú Depurar.

La compilación requiere la entrada de los archivos del proyecto en el compilador de C#, que convierte el código fuente en lenguaje intermedio de Microsoft (MSIL) y después une el MSIL a los metadatos, recursos, manifiestos y otros módulos, si existen, para crear un ensamblado. Un ensamblado es un archivo ejecutable que normalmente tiene una extensión .exe o .dll. A medida que desarrolle la aplicación, puede que desee generar una versión de depuración para probarla y ver cómo funciona. Por último, cuando todo sea correcto, creará una versión de lanzamiento que distribuirá a los clientes.

Errores de compilación Si hay errores de sintaxis de C#, o si no es posible resolver identificadores en un tipo o miembro conocido, la compilación no finalizará correctamente y verá una lista de errores en la Lista de errores, que aparece de forma predeterminada justo debajo del editor de código. Puede hacer doble clic en un mensaje de error para ir a la línea de código en la que se produjo el error.

Los mensajes de error del compilador de C# suelen ser muy claros y descriptivos, pero si no consigue determinar el problema, puede ir a la página de Ayuda del

Programación .NET II Unidad 3.

Actividad 1. Crisis del Software

mensaje presionando F1 con el mensaje de error seleccionado en la lista de errores. La página de Ayuda contiene información útil adicional.

Configuraciones de lanzamiento y de depuración Mientras siga trabajando en el proyecto, es muy probable que desee generar la aplicación con la configuración de depuración, que le permite ver el valor de las variables y controlar la ejecución en el depurador. También puede crear y probar generaciones en la configuración de lanzamiento para comprobar que no se ha introducido ningún error que sólo se manifieste en uno u otro tipo de compilación. En la programación con .NET Framework, estos errores son muy raros, pero pueden producirse.

Excepciones en C# (CSharp) Cuando durante la ejecución de un programa ocurre un error que impide su continuación, por ejemplo, una entrada incorrecta de datos o un formato de salida no correcto, C# lanza una excepción, que si no se captura da lugar a un mensaje de error y detiene la ejecución (las excepciones se lanzan, no ocurren). Ahora si lo que deseamos es que la ejecución del programa no se detenga, habrá que capturarla y manejarla adecuadamente en un intento de reanudar la ejecución.

Las excepciones en C# son objetos de subclases de Exception. Por ejemplo, el espacio de nombres System define la clase base SystemException para las excepciones predefinidas; por ejemplo: aritméticas, de formato, intentar acceder a un elemento de una matriz con un índice fuera de límites, etc. Para capturar una excepción hay que hacer dos cosas: una, poner a prueba el código que puede lanzar excepciones dentro de un bloque try; y dos, manejar la excepción cuándo se lance, en un bloque catch. Por ejemplo: try { //Código que puede lanzar una excepción

Programación .NET II Unidad 3.

Actividad 1. Crisis del Software

Console.WriteLine("{0:f} + {1:f} = {2:d}", a, b, c); } catch(Exception e) { //Manejar una excepción de la clase Exception System.Console.WriteLine("Error: " + e.Message); } En el ejemplo anterior, cuándo se lance una excepción del tipo Exception por que se produjo un error debido a la ejecución de una operación de entrada/salida, el objeto e almacenará la información relativa al error ocurrido, información que puede ser manipulada a través de las propiedades y métodos de su clase; por ejemplo, Message muestra un mensaje indicando qué error ocurrió. En el ejemplo anterior, al especificar que el tipo de excepciones que se desea atrapar son de la clase Exception, cabe cualquier excepción de cualquier clase derivada de Exception. Si quisiéramos filtrar un tipo particular de excepciones deberemos indicarlo explícitamente. Por ejemplo, cuándo ejecute el siguiente programa, observa que lanza una excepción de la clase FormatException por utilizar un formato d para mostrar un valor double. Por tanto, dicha excepción será atrapada por el primer bloque catch. Cuándo una excepción se atrapa, se considera manipulada. using System; class Test { public static void Main(string[] args) { double a = 10, b = 20, c = 0; try { c = a + b; Console.WriteLine("{0:f} + {1:f} = {2:d}", a, b, c); } catch(FormatException) { Console.WriteLine("Ha ocurrido un error de formato"); } catch(Exception e) { Console.WriteLine("Error: "+ e.Message); } } }

Errores: try - catch - finally

En ocasiones es imprescindible manejar el comportamiento de nuestra aplicación cuando surge un error. Por ejemplo debemos exigir que se cierre un DataReader si se produce un error,

Programación .NET II Unidad 3.

Actividad 1. Crisis del Software

que se cierre un fichero XML si surge un error de lectura, o que se controle una llamada a un WebService al que no tenemos acceso ninguno. Así pues, el objetivo de este artículo es mostrar el uso básico de los comandos try, catch y finally.

Por ejemplo vamos a controlar si surge algún error cuando enviamos un Email mediante nuestro código C# (error que, dicho sea de paso, sucede a menudo). Recordando de nuestro artículo de "envío de emails con ASP.NET": MailMessage Email = new MailMessage(Origen, Destino, Asunto, Mensaje); SmtpClient smtp = new SmtpClient(); try { smtp.Send(Email); } catch (Exception ex) { Label1.Text = ex.Message; } Como vemos, tratamos de enviar un mensaje, y si nos da error lo mostraremos en nuestro Label (que suponemos está en nuestra página .aspx). De modo que dentro de "try" colocaremos el código que queremos vigilar y dentro del "catch" diremos lo que queremos hacer si sucede una excepción. Cuando estemos más avanzados en el pequeño mundo de la captura de errores, veremos que se pueden anidar tantos catch como queramos, poniéndoles a cada uno como parámetro el tipo de excepción que queramos controlar. Pero esto no lo vamos a explicar en este artículo, con la idea de mantenernos en un nivel básico/ de iniciación. En cuanto al "finally", es el comando al que se acudirá siempre, tanto si sucede un error como si no. Por ejemplo: MailMessage Email = new MailMessage(Origen, Destino, Asunto, Mensaje); SmtpClient smtp = new SmtpClient(); try

Programación .NET II Unidad 3.

Actividad 1. Crisis del Software { smtp.Send(Email); } catch (Exception ex) { Label1.Text = ex.Message; } finally { Label2.Text = "Ya hemos hecho el intento de envío de mensaje"; }

Si no sucediera un error, de forma que el mail se mande correctamente, al acabar el envío llegaremos al finally y escribiremos sobre la Label2... pero si sucede un error, cuando lo hayamos tratado en el catch también llegaremos al finally y escribiremos sobre la Label2. El finally es muy útil en los ejemplos que hemos comentado al inicio. Por ejemplo si trabajamos con un DataReader, pondremos un árbol try - catch - finally en el que el catch controlaría los errores y el finally se encargaría de cerrar el DataReader, de modo que éste quedaría cerrado surgiera o no un error. Para finalizar, es importante destacar que no hay que usar try - catch - finally en todos los sitios, ni imponer el control de errores de forma genérica sobre numerosas líneas de código. Hay que darse cuenta de que al usarlos estamos utilizando una vigilancia exhaustiva de todo lo que sucede, por lo que gastamos recursos y empeorará la eficiencia de nuestra aplicación. Por tanto se recomienda usarlos sólo cuando haga falta y tratando de utilizar otros remedios menos gastadores. Por ejemplo, en lugar de hacer esto: try { resultado = a / b; } catch { // Si ha dado error es que b = 0. Le daremos el valor de 0 a resultado, aunque obviamente no vale eso. resultado = 0; }

Programación .NET II Unidad 3.

Actividad 1. Crisis del Software

hay que hacer esto: if (b != 0) resultado = a / b; else resultado = 0;

Bibliografia https://msdn.microsoft.com/es-es/library/ms173083(v=vs.90).aspx http://www.subgurim.net/Articulos/csharp/110/introduccion-al-control-de-errores-trycatch-finally.aspx

More Documents from "Guillermo Duran Garcia"

Dprn2_u3_a1_gudg
January 2021 0
Pandemias
January 2021 1
January 2021 0
February 2021 0