elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Para cada error, su correspondiente respuesta. ¿Cómo?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Para cada error, su correspondiente respuesta. ¿Cómo?  (Leído 746 veces)
‭lipman


Desconectado Desconectado

Mensajes: 3.062



Ver Perfil WWW
Para cada error, su correspondiente respuesta. ¿Cómo?
« en: 17 Octubre 2007, 14:05 »

Estoy manejando una aplicación que lanza varios tipos de errores, que no se pueden corregir porque no depende del programa, así que me gustaría que cada vez que tirara un error diferente (por ejemplo el 81) hiciese una cosa

Es decir, algo así como: El programa tira error 81 --> En vez de saltar la molesta ventanita de error 81 por defecto, hago otra cosa, como cerrar el programa.

Saludos


En línea

SERBice


Desconectado Desconectado

Mensajes: 934



Ver Perfil WWW
Re: Para cada error, su correspondiente respuesta. ¿Cómo?
« Respuesta #1 en: 17 Octubre 2007, 14:22 »

checa esto:

Código:
Private Sub Form_Load()
    On Error GoTo ErrorPersonalizado 'si ocurre un error salta a ErrorPersonalizado
    Dim a As Integer 'variable
    a = 4 / 0 'a es iguala  4 sobre 0, eso da error, no se peude divivir sober cero.
    MsgBox "termino el subproceso", vbInformation, "" 'terminamos
    Exit Sub 'salimos de la sub (saltamos la parte de ErrorPersonalizado)
ErrorPersonalizado:
    MsgBox "Hubo un error." & vbCrLf & "El error fue: " & Err.Number & " - " & Err.Description, vbCritical, "" 'damos alerta
    Resume Next 'continuamos despeus de la linea que tuvo el error
End Sub

el mensaje o la accion a tomar derivada del error la puedes personalizar, y peudes usar if's apra ver q error es y en cas de ser por ej error 6 (desbordamiento) haces una cosa y sie s error 13 (no coinciden los tipos) haces otra cosa. asi:
Código:
if err.number=9 then
.....
elseif err.number=13 then
......
else
......
end if

o puedes ignorar todos los errores, aunqeu esto demuestra que no sabes prgoramar bien  :rolleyes:.... los que usan el sigueinte metodo es porqe no saben como eliminar sus errores entonces "le dicen al prorgama que no importan los errores":

Código:
Private Sub Form_Load()
    On Error Resume Next 'si ocurre un error salta a la siguiente linea sin importar
    Dim a As Integer 'variable
    a = 4 / 0 'a es iguala  4 sobre 0, eso da error, no se peude divivir sober cero.
    MsgBox "termino el subproceso", vbInformation, "" 'terminamos
End Sub


« Última modificación: 17 Octubre 2007, 14:25 por SERBice » En línea

‭lipman


Desconectado Desconectado

Mensajes: 3.062



Ver Perfil WWW
Re: Para cada error, su correspondiente respuesta. ¿Cómo?
« Respuesta #2 en: 17 Octubre 2007, 14:56 »

Muchas gracias y muy completo  :o

Sin embargo, tengo dudas con el segundo código, ya que hago esto:

Código
  1. Private Sub Form_Load()
  2. Dim a As Integer
  3. a = 1 / 0
  4. If Err.Number = 11 Then
  5. MsgBox "error"
  6. End If
  7. End Sub

Y me sale el errorcito número once y lo de división por cero, y no el mensaje de error que quiero que salga.

Saludos y gracias!
En línea

SERBice


Desconectado Desconectado

Mensajes: 934



Ver Perfil WWW
Re: Para cada error, su correspondiente respuesta. ¿Cómo?
« Respuesta #3 en: 17 Octubre 2007, 14:58 »

Muchas gracias y muy completo  :o

Sin embargo, tengo dudas con el segundo código, ya que hago esto:

Código
  1. Private Sub Form_Load()
  2. Dim a As Integer
  3. a = 1 / 0
  4. If Err.Number = 11 Then
  5. MsgBox "error"
  6. End If
  7. End Sub

Y me sale el errorcito número once y lo de división por cero, y no el mensaje de error que quiero que salga.

Saludos y gracias!

simlemente porque lo haces mal....

Código
  1. Private Sub Form_Load()
  2. on error goto errpersonalizado
  3. Dim a As Integer
  4. a = 1 / 0
  5. exit sub
  6. errpersonalizado:
  7. If Err.Number = 11 Then
  8. MsgBox "error"
  9. End If
  10. End Sub


la rpoxima vez, mira bien lso ejemplos qeu se te dan ¿vale?
En línea

‭lipman


Desconectado Desconectado

Mensajes: 3.062



Ver Perfil WWW
Re: Para cada error, su correspondiente respuesta. ¿Cómo?
« Respuesta #4 en: 17 Octubre 2007, 15:23 »

Vale gracias  :rolleyes: :rolleyes: ;D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
programa en c++ el programa me da un error dice que la llave correspondiente a {
Programación C/C++
eduardo17445 2 2,528 Último mensaje 5 Junio 2012, 19:51
por eduardo17445
solicitar día de la semana e imprimir número correspondiente
Programación C/C++
cargs 5 548 Último mensaje 3 Agosto 2019, 00:45
por cargs
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines