none
Retornar un error en una funcion RRS feed

  • Pregunta

  • Hola, tengo una consulta sobre el return en funciones.

    Es posible forzar un error para que entre al Catch de una función, especificando el mensaje de error?

    Tengo la siguiente función que devuelve un string, pero solo si la variable por parámetro que le paso es true. 

    public static string Ejecutar(Boolean Inicializacion)
    {
       try
       {
         if (Inicializacion == true)
         {
            return "Ok";
         }
         else
         {
            //aquí quiero retornar un error, ya que quiero forzar a que la variable por parametro "Inicializacion" esté siempre en true
         }
       }
       catch (Exception ex)
       {
          throw ex;
       }
    }

    La idea es que en el catch a la hora de llamar la funcion pueda mostrar el mensaje de error:

    try
    {
      Ejecutar(false)
    }
    catch (Exception ex)
    {
       MessageBox.Show(ex.Message);
    }


    Se entiende lo que planteo? está bien manejado así?

    Gracias de antemano!

    miércoles, 8 de agosto de 2018 14:26

Respuestas

  • hola

    >>aquí quiero retornar un error, ya que quiero forzar a que la variable por parametro "Inicializacion"

    para forzar un error usarias

    if (Inicializacion == true)
         {
            return "Ok";
         }
         else
         {
            throw new Exception("mensaje");
         }

    Pero quita esta parte

    catch (Exception ex)
       {
          throw ex;
       }

    no sirve de nada captutar un error y devolverlo sino haces nada con este

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Propuesto como respuesta Pablo RubioModerator miércoles, 8 de agosto de 2018 14:42
    • Marcado como respuesta programinca miércoles, 8 de agosto de 2018 16:52
    miércoles, 8 de agosto de 2018 14:32

Todas las respuestas

  • hola

    >>aquí quiero retornar un error, ya que quiero forzar a que la variable por parametro "Inicializacion"

    para forzar un error usarias

    if (Inicializacion == true)
         {
            return "Ok";
         }
         else
         {
            throw new Exception("mensaje");
         }

    Pero quita esta parte

    catch (Exception ex)
       {
          throw ex;
       }

    no sirve de nada captutar un error y devolverlo sino haces nada con este

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Propuesto como respuesta Pablo RubioModerator miércoles, 8 de agosto de 2018 14:42
    • Marcado como respuesta programinca miércoles, 8 de agosto de 2018 16:52
    miércoles, 8 de agosto de 2018 14:32
  • hola , yo creo que no tiene sentido eso debido a que estas evaluando un booleano , no tenes margen de error.

    El try catch se debe utilizar cuando se tenga un fragmento de código que es propenso a fallar, que se sabe que por una u otra razón puede fallar. Como por ejemplo la conversión de un tipo de dato a otro:

    miércoles, 8 de agosto de 2018 14:39
  • Eso es, gracias Leandro!
    miércoles, 8 de agosto de 2018 16:52