Вы находитесь на странице: 1из 5

PROGRAMACIÓN V

FECHA FECHA
ACTIVIDAD No: 2 ENVIO: 05/06/2018 ENTREGA: 07/06/2018

TEMA: Try – Catch – (Validaciones)

UNIDAD No 1L: Interfaz gráfica de usuario y Programación

Definir la instrucción Try – Catch y su funcionamiento, mediante una investigación y ejercicios


OBJETIVO: prácticos, utilizando formas de recopilación de datos, revisión en los libros básicos e Internet,
para su estudio e implementación en C#.

PROBLEMA: Carencia de información sobre el manejo de excepciones (Try – Catch) y su correcto uso.

INDICADOR DE EVALUACION: CALIFICACIÓN


CRITERIOS DE EVALUACIÓN: Siempre A veces Nunca
(100%) (75%) (10%)
EN IMPRESOS
● Entrega documentación impresa y digital. (Siguiendo las normas y convenciones para la
escritura y sin falta de ortografía). La redacción del documento debe ser clara. Debe incluir
todas las fuentes de donde tomó la información.
● Cumple con el formato, normas y estructura para la elaboración del documento.
APLICACIÓN DE VALORES.
● Puntualidad. Entrega de trabajo a tiempo
● Responsabilidad ética. El trabajo es inédito y respeta la propiedad intelectual
● Responsabilidad profesional. Cumple con las normas técnicas.
USO DE RECURSOS:
● Material electrónico formato Power Point
● Internet
● Computadora
● Microsoft Word
CAPACIDAD DE REFLEXIÓN.
● Incluye ejemplos claros que permiten un mejor entendimiento del tema.
CONOCIMIENTO TÉCNICO.
● Destreza con las herramientas informáticas.

TIPO DE ACTIVIDAD
LUGAR ALCANCE FORMA
□ Intraclase □Individual □Taller □Práctica en laboratorio
□ Extraclase □Grupal
□Síntesis, esquemas □Práctica en clase
□Caso de estudio □Resolución de problemas,
□Investigativa ejercicios
□Vinculación con la colectividad □Ensayo, artículo
□Informe de exposición
ROLES Y RESPONSABILIDADES DE LOS PARTICIPANTES EN LA TAREA:

NOMBRE ESTUDIANTE ROL


Investigador
TÉCNICAS EMPLEADAS
Investigación, Análisis.
UNIVERSIDAD TÉCNICA DE MACHALA
“Calidad, Pertinencia y Calidez"
D.L. No. 69-04 DE 14 DE ABRIL DE 1969 PROVINCIA DE EL ORO – REPUBLICA DEL ECUADOR
UNIDAD ACADÉMICA DE INGENIERÍA CIVIL
CARRERA DE INGENIERÍA DE SISTEMAS
ESCUELA: RESOL. Nº087/1995 – 25 DE OCTUBRE DE 1995 – ING. SIST.: RESOL. N.º 077/2001 – 7 MAYO DE 2001

Introducción.
La mayoría de las veces nuestras aplicaciones fallan porque los datos que reciben y que
intentan tratar no son los correctos y no se ha comprobado previamente. La validación
de datos es el proceso de asegurar que un programa funcione en datos limpios, correctos
y útiles. Utiliza rutinas, a menudo llamadas "reglas de validación" "restricciones de
validación" o "rutinas de comprobación", que comprueban la corrección, significación y
seguridad de los datos que se introducen en el sistema.

En definitiva, se debe identificar cada uno de los flujos de entrada, verificar que el tipo de
dato sea el esperado y no otro, verificar que no haya códigos ocultos, etc.

Validaciones:
Validar datos es el proceso de confirmar que los valores que se especifican en los objetos
de datos son compatibles con las restricciones dentro de un esquema del conjunto de
datos, al igual que las reglas establecidas para su aplicación. Validar datos hace referencia
a verificar, controlar o filtrar cada una de las entradas de datos que provienen desde el
exterior del sistema.

Try – Catch.
La instrucción try-catch consta de un bloque try seguido de una o más cláusulas catch, las
cuales especifican controladores para diferentes excepciones.

Comentarios

El bloque try contiene el código protegido que puede causar la excepción. Este bloque se
ejecuta hasta que se produce una excepción o hasta completarse satisfactoriamente. Por
ejemplo, el siguiente intento de convertir un objeto null provoca la excepción
NullReferenceException:

object o2 = null;
try
{
int i2 = (int)o2; // Error
}

La cláusula catch se puede utilizar sin argumentos, en cuyo caso captura cualquier tipo
de excepción y se conoce como cláusula catch general. También puede aceptar un
argumento de objeto derivado de System.Exception, en cuyo caso trata una excepción
específica. Por ejemplo:
catch (InvalidCastException e) {

Es posible utilizar más de una cláusula catch específica en la misma instrucción try-catch.
En este caso, el orden de las cláusulas catch es importante, ya que las cláusulas catch se
examinan por orden. Las excepciones más específicas se capturan antes que las menos
específicas.

Se puede utilizar una instrucción throw en el bloque catch para volver a producir la
excepción, la cual ha sido capturada por la instrucción catch. Por ejemplo:

catch (InvalidCastException e)
{
throw (e); // Rethrowing exception e
}

Si desea volver a producir la excepción que está siendo actualmente controlada por una
cláusula catch sin parámetros, use la instrucción throw sin argumentos. Por ejemplo:

catch
{
throw;
}

Dentro de un bloque try, inicialice sólo variables declaradas en su interior; en caso


contrario, puede producirse una excepción antes de que se complete la ejecución del
bloque. Por ejemplo, en el siguiente ejemplo de código, la variable x se inicializa dentro
del bloque try. Al intentar utilizar esta variable fuera del bloque try en la instrucción
Write(x), se generará el siguiente error del compilador: Uso de variable local no asignada.

Ejemplo 1.

En este ejemplo, el bloque try contiene una llamada al método MyMethod(), que puede
producir una excepción. La cláusula catch contiene el controlador de excepciones, el cual
simplemente muestra un mensaje en la pantalla. Cuando se realiza la llamada a la
instrucción throw desde dentro de MyMethod, el sistema busca la instrucción catch y
muestra el mensaje Exception caught.

// try_catch_example.cs
using System;
class MainClass
{
static void ProcessString(string s)
{
if (s == null)
{
throw new ArgumentNullException();
}
}

static void Main()


{
try
{
string s = null;
ProcessString(s);
}
catch (Exception e)
{
Console.WriteLine("{0} Exception caught.", e);
}
}
}

Resultados del ejemplo


System.ArgumentNullException: Value cannot be null.
at MainClass.Main() Exception caught.

Ejemplo 2:

En este ejemplo, se utilizan dos instrucciones catch. La excepción más específica, que
aparece en primer lugar, se captura primero.

// try_catch_ordering_catch_clauses.cs
using System;
class MainClass
{
static void ProcessString(string s)
{
if (s == null)
{
throw new ArgumentNullException();
}
}

static void Main()


{
try
{
string s = null;
ProcessString(s);
}
// Most specific:
catch (ArgumentNullException e)
{
Console.WriteLine("{0} First exception caught.", e);
}
// Least specific:
catch (Exception e)
{
Console.WriteLine("{0} Second exception caught.", e);
}
}
}

Resultados del ejemplo


System.ArgumentNullException: Value cannot be null.
at MainClass.Main() First exception caught.

Comentarios

En el ejemplo anterior, si empieza con la cláusula catch menos específica, aparecerá el


mensaje de error:
A previous catch clause already catches all exceptions of this or
a super type ('System.Exception')

No obstante, para capturar la excepción menos específica, debe reemplazar la instrucción


throw por la siguiente:
throw new Exception();

Bibliografía

[1] J. Cevallos, Enciclopedia de Microsoft Visual C#, Madrid: RA-MA, 2013.

[2] W. Bill, «Microsoft,» Microsoft, 20 Julio 2015. [En línea]. Available: https://docs.microsoft.com/es-
es/dotnet/csharp/getting-started/introduction-to-the-csharp-language-and-the-net-framework.
[Último acceso: 7 Mayo 2018].

[3] Microsoft Developer Network, «Microsfot,» [En línea]. Available: https://msdn.microsoft.com/es-


es/library/0yd65esw(v=vs.80).aspx. [Último acceso: 6 Junio 2018].

Вам также может понравиться