• Miércoles 15 de Mayo de 2024, 01:26

Autor Tema:  Controlar Excepcion Especifica  (Leído 1213 veces)

Vortice

  • Miembro MUY activo
  • ***
  • Mensajes: 135
    • Ver Perfil
Controlar Excepcion Especifica
« en: Viernes 20 de Junio de 2008, 22:59 »
0
Camaradas yo otra vez…saludines…
Estoy tratando de controlar una excepción q me da un error al duplicar una clave (Primary Key), me da el siguiente error.

Violation of PRIMARY KEY constrain "PK_ALUMNOS_1".cannot insert duplicate key in object "dbo.Alumnos".
Y quiero q en vez de darme este error entregar un mensaje, se q esto se hace con la clausula When en el Catch ex As Exception del Try, pero q le digo después del  When ahí estoy pegado…
Ojala puedan ayudarme.
Gracias….Foreros  y público en general...
Solo el Bueno muere joven...

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Controlar Excepcion Especifica
« Respuesta #1 en: Sábado 21 de Junio de 2008, 01:35 »
0
Yo para eso uso un método estático:

Código: Text
  1. public static void mostrarCartelDeError(string strErrorActual)
  2.         {
  3.             int intCodigoDeError=0;
  4.             string strMensajeDeError="";
  5.             if (strErrorActual.IndexOf(',') != -1)
  6.             {
  7.                 try
  8.                 {
  9.                     intCodigoDeError = Convert.ToInt32(strErrorActual.Split(',')[0]);
  10.                     strMensajeDeError = strErrorActual.Split(',')[1];
  11.                 }
  12.                 catch
  13.                 {
  14.                     intCodigoDeError = -1;
  15.                 }
  16.             }
  17.  
  18.             switch (intCodigoDeError)
  19.             {
  20.                 case 2627:
  21.                     strErrorActual = "Ya existe un proceso de....";
  22.                     break;
  23.                 case 547:
  24.                     strErrorActual = "El registro está siendo utilizado.\nNo puede ser eliminado...";
  25.                     break;
  26.                 case 15025: case 15023:
  27.                     strErrorActual = "El usuario ya está registrado...";
  28.                     break;
  29.                 case 15151:
  30.                     strErrorActual = "El usuario no existe...";
  31.                     break;
  32.                     .
  33.                     .
  34.                     .
  35.                     .
  36.                     .
  37.                 default:
  38.                     strErrorActual = "Ha ocurrido un error interno, contacte con el desarrollador";
  39.                     break;
  40.             }
  41.  
  42.             MessageBox.Show(strErrorActual, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  43.         }
  44.  

y lo uso así:

Código: Text
  1.             catch (Exception ex)
  2.             {
  3.                 ClaseManejadorDeMensajes.mostrarCartelDeError(ex.Message);
  4.             }
  5.  

Espero que puedas adaptarlo para lo que vos necesitás.

Un saludo :beer:
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.