Documente Academic
Documente Profesional
Documente Cultură
Errores de Lxico
Uso de un smbolo no definido Uso de smbolos que no son del lenguaje Ejemplo:
Dima UnStr UnStr -- Guatemala For i = * To 40j
Errores de Sintxis
Uso de smbolos en lugares inadecuados Omisin del smbolo correcto Ejemplo:
If A < Then A = 38**B Else B = B*4>A If
Errores Semnticos
Errores en el sentido de la construccin No tiene sentido Ejemplo:
Dim A,B A = Guatemala B = A*8
Errores Lgicos
El programa no corresponde con lo que se quiere hacer Produce resultados ilgicos Ejemplo: Construr una tabla de 2x2 en cada celda de una de 2x2
Errores Lgicos
Dim i,j Document.Write "<Table Border=1>" For i = 1 To 2 Document.Write "<TR>" For j = 1 To 2 Document.Write "<TD><Table Border=1>" Do While i < 2 Document.Write "<TR>" Do While j < 2 Document.Write "<TD> </TD>" j=j+1 Loop Document.Write "</TR>" i=i+1 Loop Document.Write "</Table></TD>" Next Document.Write "</TR>" Next Document.Write "</Table>"
ej074.html
El Objeto Err
Almacena los datos del ltimo error Es un objeto
Tiene propiedades o atributos Tiene comportamiento (mtodos)
Si nada se indica
Se asume On Error Goto 0
Polticas de Error
No hacer nada
Se atiende el error cuando ocurre
A favor:
Desarrollo ms rpido Cdigo ms simple
En contra:
Hay que parchar el cdigo Costos de soporte y mantenimiento
Polticas de Error
Que ocurra elegantemente
Mostrar mensaje explicativo del error Guardarlo en una bitcora
A favor:
Se maneja el error de forma sencilla y estandarizada
En contra:
Se obliga al usuario a interpretarlo Mucho cdigo de cajn
Ocurre Elegantemente
Dim UnNum,Repetir Repetir = True Do While Repetir UnNum = InputBox("Ingrese un nmero","Ingreso",0) On Error Resume Next Document.Write "El nmero ingresado es: " & UnNum & _ " que dividido 8 da: " & (UnNum/8) If Err.Number > 0 Then MsgBox "Ha ocurrido el error:" & VBNewLine & Err.Number & _ VBNewLine & "de descripcin:" & VBNewLine & Err.Description & _ VBNewLine & "de origen:" & VBNewLine & Err.Source,VBCritical,"Error" Err.Clear Else Repetir = False End If On Error Goto 0 Loop
ej075.html
Polticas de Error
Que ocurra sin que se note
Suprimir los avisos de error Poner un On Error Resume Next al inicio
A favor:
Permite ejecutar los programas hasta el final
En contra:
Errores importantes nunca salen a la luz
Polticas de Error
Cero tolerancia a errores
Prevenir los errores, hacer que no ocurran Eliminar los errores antes de produccin Si pueden ocurrir anticiparse Si no pueden anticiparse hacer que:
Falle en seguro (fail safe) Degradacin aceptable (fail soft) Tolerancia completa (fail operational)
Polticas de Error
Cero tolerancia a errores A favor:
Exige planificar la codificacin Exige disciplina en la codificacin Reduce costos de soporte y mantenimiento
En contra:
Difcil de implementar
Errores de Strings
Verificar
Cadena vaca
Longitud cero