• Miércoles 24 de Abril de 2024, 23:14

Autor Tema:  Control de Excepciones C#  (Leído 1841 veces)

AugustoPedraza007

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Control de Excepciones C#
« en: Lunes 28 de Diciembre de 2009, 02:57 »
0
Mi pregunta es la siguiente. Recien estoy iniciandome en el mundo de C#. Mi duda es la siguiente:

El código muestra un ejemplo básico de manejo de excepciones

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TrabajoPrácticoNº1
{

   
    class Program
    {
        static void Main()
        {
            int numero=0;

            Console.Clear();
            Console.WriteLine("Ingrese un numero entero cualquiera");
                       
            try
            {
                numero= Convert.ToInt16(Console.ReadLine());
            }

            catch(FormatException ex)
            {
                Console.Clear();
                Console.Write(ex.Message);
                Console.ReadLine();
            }
       }//end método
   }//end Class
}//end Namespace


La duda que me surge es como puedo hacer para una vez mostrado el mensaje de la excepción,
vuelva a pedirle al usuario el ingreso de un número.
Para mí, lo único que se me ocurre es el uso de un "goto", pero pienso que es bastante implolijo.
Espero sus respuestas. GRACIAS!!!

locazopro

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
Re: Control de Excepciones C#
« Respuesta #1 en: Lunes 28 de Diciembre de 2009, 05:10 »
0
la verdad es que no me manejo mucho en C#  pero se me ocurre que puedes usar un validador que comprueba si se efectuó correctamente la transformación:

Código: C#
  1.  
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6.  
  7. namespace ConsoleApplication1
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int numero = 0;
  14.             int validar = 0;
  15.  
  16.             while (validar == 0)
  17.             {
  18.                 Console.Clear();
  19.                 Console.WriteLine("Ingrese un numero entero cualquiera");
  20.  
  21.                 try
  22.                 {
  23.                     numero = Convert.ToInt16(Console.ReadLine());
  24.                     // Si no lanza la excepcion, entonces salgo del bucle
  25.                     validar = 1;
  26.                 }
  27.  
  28.                 catch (FormatException ex)
  29.                 {
  30.                     Console.Clear();
  31.                     Console.Write(ex.Message);
  32.                     Console.ReadLine();
  33.                 }
  34.             }
  35.         }
  36.     }
  37. }
  38.  
  39.  

espero te sirva de inspiración  ^_^ .

Saludos!

tannke

  • Miembro MUY activo
  • ***
  • Mensajes: 152
  • Nacionalidad: es
    • Ver Perfil
Re: Control de Excepciones C#
« Respuesta #2 en: Martes 29 de Diciembre de 2009, 14:57 »
0
borro mensaje por fallo mio en una correccion. De todos modos decirte que intenta evitar el goto

Saludos