using System;
using System.Collections;
namespace Articulos.Excepciones.Parte4
{
public sealed class UsoData
{
public static void Main()
{
UsarPropiedadData();
}
public static void UsarPropiedadData()
{
try
{
GenerarExcepcion();
}
catch (Exception e)
{
Console.WriteLine ("\nSe ha generado una excepción.");
Console.WriteLine ("\t{0}", e.Message);
// Valida que la propiedad Data contiene elementos:
if (e.Data.Count > 0)
{
Console.WriteLine ("\nDetalles adicionales de la excepción:");
foreach (DictionaryEntry de in e.Data)
{
Console.WriteLine ("\tLlave: {0,-20}Valor: {1}",
de.Key.ToString(),
de.Value.ToString()
);
}
Console.WriteLine();
}
}
}
public static void GenerarExcepcion()
{
Exception e = new Exception();
DateTime fechaHora = DateTime.Now;
string mensaje = "Excepción generada en el método GenerarExcepcion.";
int codigo = 852963741;
// Agrega pares llave/valor a la propiedad Data:
e.Data["ID"] = codigo;
e.Data["FechaHora"] = fechaHora;
e.Data["Mensaje"] = mensaje;
throw e;
}
}
}