using System;
namespace Articulos.Cap04.Excepciones.Parte5
{
public sealed class UsoArgumentException
{
// Método para dividir un número par entre 2:
private static int DividirPorDos(int numero)
{
// En caso de que el número no sea par, entonces
// se lanzará la excepción `ArgumentException`:
if ((numero % 2) == 1)
{
throw new ArgumentException ("El número debe ser par.", "numero");
}
return numero / 2;
}
public static void Main()
{
// Ejemplo de uso del método `DividirPorDos`:
Console.WriteLine ("\nDivisión de 100 entre 2 = {0}", DividirPorDos(100));
try
{
// Aquí la excepción ArgumentException es lanzada debido a que el
// dividendo es un número impar:
Console.WriteLine ("13 dividido por 2 = {0}", DividirPorDos(13));
}
catch (ArgumentException ae)
{
Console.WriteLine ("Mensaje de error: `{0}`", ae.Message);
}
}
}
}
dXNpbmcgU3lzdGVtOwoKbmFtZXNwYWNlIEFydGljdWxvcy5DYXAwNC5FeGNlcGNpb25lcy5QYXJ0ZTUKewogICAgcHVibGljIHNlYWxlZCBjbGFzcyBVc29Bcmd1bWVudEV4Y2VwdGlvbgogICAgewogICAgICAgIC8vIE3DqXRvZG8gcGFyYSBkaXZpZGlyIHVuIG7Dum1lcm8gcGFyIGVudHJlIDI6CiAgICAgICAgcHJpdmF0ZSBzdGF0aWMgaW50IERpdmlkaXJQb3JEb3MoaW50IG51bWVybykKICAgICAgICB7CiAgICAgICAgICAgIC8vIEVuIGNhc28gZGUgcXVlIGVsIG7Dum1lcm8gbm8gc2VhIHBhciwgZW50b25jZXMgCiAgICAgICAgICAgIC8vIHNlIGxhbnphcsOhIGxhIGV4Y2VwY2nDs24gYEFyZ3VtZW50RXhjZXB0aW9uYDoKICAgICAgICAgICAgaWYgKChudW1lcm8gJSAyKSA9PSAxKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQXJndW1lbnRFeGNlcHRpb24gKCJFbCBuw7ptZXJvIGRlYmUgc2VyIHBhci4iLCAibnVtZXJvIik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIHJldHVybiBudW1lcm8gLyAyOwogICAgICAgIH0KICAgIAogICAgICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKICAgICAgICB7CiAgICAgICAgICAgIC8vIEVqZW1wbG8gZGUgdXNvIGRlbCBtw6l0b2RvIGBEaXZpZGlyUG9yRG9zYDoKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUgKCJcbkRpdmlzacOzbiBkZSAxMDAgZW50cmUgMiA9IHswfSIsIERpdmlkaXJQb3JEb3MoMTAwKSk7CiAgICAgICAgICAgIAogICAgICAgICAgICB0cnkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgLy8gQXF1w60gbGEgZXhjZXBjacOzbiBBcmd1bWVudEV4Y2VwdGlvbiBlcyBsYW56YWRhIGRlYmlkbyBhIHF1ZSBlbCAKICAgICAgICAgICAgICAgIC8vIGRpdmlkZW5kbyBlcyB1biBuw7ptZXJvIGltcGFyOgogICAgICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUgKCIxMyBkaXZpZGlkbyBwb3IgMiA9IHswfSIsIERpdmlkaXJQb3JEb3MoMTMpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBjYXRjaCAoQXJndW1lbnRFeGNlcHRpb24gYWUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lICgiTWVuc2FqZSBkZSBlcnJvcjogYHswfWAiLCBhZS5NZXNzYWdlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQ==