C sharp - El Err.number de V.B. como se puede controlar en C#

 
Vista:
sin imagen de perfil
Val: 51
Ha aumentado su posición en 3 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

El Err.number de V.B. como se puede controlar en C#

Publicado por Miguel (24 intervenciones) el 09/01/2022 13:45:53
Siempre he programado en V.B. pero ante la incertidumbre en la que está ahora estoy migrando a C# y así ir estudiando la forma de codificar que tiene.
Ahora en concreto me encuentro con un escollo y he estado buscando por la red sin dar con una solución.

al migrar el código en C# me sale de esta forma.

switch (Information.(Err.Number) "Aqui me da error"
{
case 5:
{
throw new Exception("No se puede insertar un registro vacio");
break;
}
default:
{
throw new Exception(ex.Message);
break;
}
}

Lo unico que he visto es así : switch (Exception ErrorC) Pero igualmente me da error.

Me puede decir alguien como controlar en C# el "Err.Numbre" de V.B.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 373
Plata
Ha aumentado su posición en 2 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

El Err.number de V.B. como se puede controlar en C#

Publicado por Agustin (171 intervenciones) el 09/01/2022 16:56:18
Para darte la respuesta a esta pregunta tendría que saber qué tipo de objeto es "Information" y "Err" en tu código.

Dicho esto, tiene pinta de haber un indexer ahí. Probá con Information[Err.Number]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 51
Ha aumentado su posición en 3 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

El Err.number de V.B. como se puede controlar en C#

Publicado por Miguel (24 intervenciones) el 09/01/2022 20:41:02
Hola Agustin.
Este es mi código :
Catch ex As Exception
Select Case Err.Number
Case 5
Throw New Exception("No se puede insertar un registro vacio")
Case Else
Throw New Exception(ex.Message)
End Select
End Try

Y este el que me a dado el conversor de pasar V.S. a C#
catch (Exception ex)
{
switch (Information.(Err.Number))
{
case 5:
{
throw new Exception("No se puede insertar un registro vacio");
break;
}

default:
{
throw new Exception(ex.Message);
break;
}
}
}

He leído que hay un programa que te convierte todo el proyecto, pero yo no he dado con él. El que he encontrado es bastante malo.

Un saludo y gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 373
Plata
Ha aumentado su posición en 2 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

El Err.number de V.B. como se puede controlar en C#

Publicado por Agustin (171 intervenciones) el 09/01/2022 20:51:32
El tema es que el objeto Err de VB no existe en C#. No sé que queres hacer pero te conviene atrapar la excepción propiamente dicha y listo. Fijate qué tipo de excepción te genera ese código en tiempo de ejecución.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 51
Ha aumentado su posición en 3 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

El Err.number de V.B. como se puede controlar en C#

Publicado por Miguel (24 intervenciones) el 09/01/2022 22:39:18
Que no existe en C# el Err.number también lo se yo, pero por eso utilizo un conversor para pasar el código V.S a C#. Y sobre atrapar la excepción si me explicas como lo haces en C# me parece bien. Pero el caso es que nunca sabes que excepción te puede surgir al hacer una Insert, Update o un Delete. Es por esa razón que controlo el número de error y como el 5 so lo que es lo capturo con el Err.Number y lo indico al usuario, si más adelante se diera otro que no fuera genérico se podría capturar también.

De todas formas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar