• Sábado 14 de Diciembre de 2024, 10:58

Autor Tema:  Capturar excepciones en c++  (Leído 3304 veces)

Britomartis

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Capturar excepciones en c++
« en: Martes 11 de Marzo de 2014, 15:48 »
0
Hola alguien sabe como capturar excepciones en c++ (Builder)?. Cómo puedo usar el try y el catch?  :ayuda: Gracias.
« última modificación: Martes 11 de Marzo de 2014, 15:51 por Britomartis »

chenech

  • Miembro activo
  • **
  • Mensajes: 96
    • Ver Perfil
Re:Capturar excepciones en c++
« Respuesta #1 en: Martes 11 de Marzo de 2014, 17:32 »
0
Hola, puedes controlar muchas excepciones específicas, pero para controla todas de golpe puedes usar los tres puntos en el catch, controlas cualquiera, tanto un error en una base de datos, como un cálculo, dividir por cero, etc., el formato es:

Código: [Seleccionar]
try
{
  Código a ejecutar
}
catch (...)
{
  Código a ejecutar en caso de excepción, por ejemplo un ShowMessage de aviso
}

Britomartis

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re:Capturar excepciones en c++
« Respuesta #2 en: Martes 11 de Marzo de 2014, 19:19 »
0
Hola chenech, gracias me sirvió de mucho.  :gracias: Y si kiero para una parte del código en específico q debo poner dentro de:
catch (aki q pongo).

chenech

  • Miembro activo
  • **
  • Mensajes: 96
    • Ver Perfil
Re:Capturar excepciones en c++
« Respuesta #3 en: Martes 11 de Marzo de 2014, 19:25 »
0
No, la parte del código que quieras controlas la debes poner en el bloque try, en el catch lo que se debe ejecutar si da una excepción, por norma, yo siempre pongo los tres puntos, a no ser que quieras controlar solo un tipo de excepción, tanto en el bloque try como catch puede meter tanto código como quieras, pero no abuses, creo que penaliza el ejecutable, no recuerdo si en tamaño o velocidad, algo he leído de eso, de todas formas, yo lo uso solo donde creo que pueda tener excepciones, como por ejemplo al grabar un registro en la base de datos, y no siempre, para una división, compruebo antes que no sea cero, por ejemplo, asi me evito las excepciones.
Código: [Seleccionar]
try
{
  dValor = dNumero / dOtro;  // aquí hago una división, si dOtro valiese cero, se ejecutaría el código de catch
}
catch (...)
{
  ShowMessage("Error en la división, valor cero");
}
« última modificación: Martes 11 de Marzo de 2014, 19:29 por chenech »

Britomartis

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re:Capturar excepciones en c++
« Respuesta #4 en: Martes 11 de Marzo de 2014, 19:43 »
0
Ya entendí, muchas gracias. Yo lo voy  a usar en un login, cuando falla la autentificación me salía un exception, ahora sé como solucionarlo.  :kicking: