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

 

 


Tema destacado: Tutorial básico de Quickjs


+  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 1,542 veces)
‭lipman


Desconectado Desconectado

Mensajes: 3.062



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

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 pm »

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 pm 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 pm »

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 pm »

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 pm »

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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines