Leonel Morales Díaz Ingeniería Simple

Slides:



Advertisements
Presentaciones similares
Análisis de Campo de Fuerzas
Advertisements

Ciclo de Programación y Aplicaciones
Ciclo de Vida del Software
Estructuras With Leonel Morales Díaz Ingeniería Simple Disponible en: Copyright.
Análisis Sintáctico Capítulo 4.
Repaso – Clases 01 a 12 Leonel Morales Díaz Ingeniería Simple Copyright 2008 by Leonel Morales Díaz – Ingeniería Simple. Derechos.
Estructura For Each Leonel Morales Díaz Ingeniería Simple Disponible en: Copyright.
Manejo de Errores en Javascript 28 de Marzo de 2007.
Scripting en el lado del Cliente
Programación Interactiva Manejo de Excepciones
Instrucciones y excepciones
Manejo de errores y excepciones
CAPTURA Y RECOLECCIÓN DE ERRORES 20 de Noviembre de 2004.
Estructuras de Decisión I IF - THEN - ELSE
SISTEMAS DE INFORMACIÓN
XML XQuery.
VBA – Iteración Indefinida
M.C. Rafael A. García Rosas.
Nicole Chung. Ejercicio 1 Realizar una aplicación que genere los cinco números de la loto (esto es cinco números aleatorios entre 1 y 99 no repetidos)
Lenguajes de programación
Seminario de Actualización - Excel Avanzado y Macros
Ciclo de desarrollo del software
Módulo 5: Estructuras de Decisión y Bucles
Programación 1 Introducción
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.
Tema 3. Optimización de Código
VBA - Procedimientos Subprogramas (Procedimientos): Procedimientos Sub
TRAMPAS EN EL DISEÑO DE LENGUAJES CON RELACIÓN A LOS NOMBRES - REGLAS DE ALCANCE - COMPILACIÓN POR SEPARADO CONTROL DE FLUJO - EVALUACIÓN DE EXPRESIONES.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
Elemento Lógico (Software)
M.C. Meliza Contreras González
Prácticas de Organización de la Información y Redes
Procesadores del Lenguaje
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
UNIDAD 2:Crear, abrir y cerrar una base de datos Hacer clic sobre la opción Nuevo de la pestaña Archivo. Se mostrarán las distintas opciones para nuevos.
Teoría de lenguajes y compiladores
Página Web del Lenguaje Pascal.
Sintaxis.
Conversión cadena a número
Capítulo 2 – Estructuras de Control
Clasificación de Gramáticas y Manejo de Errores
Microsoft© Visual Basic . Net.
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Teoría – Alejandro Gonzalez
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
Módulo 8: Manejo de Errores y Excepciones
Control de Flujo.
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 8: Control del flujo en BASH Nombre unidad de.
Strings en Javascript Leonel Morales Díaz Ingeniería Simple Disponible en: Copyright.
Tipo de Errores.
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
Estructuras de Control en Visual Basic.net
“variables , sentencia if y bucles”
ESTRUCTURAS REPETITIVAS
Actividades en el Proceso de desarrollo de Software
 Realizar una aplicación que genere los cinco números de la loto (esto es cinco números aleatorios entre 1 y 99 no repetidos) C Límite inferior Límite.
Estructuras de Control
CREAR PROCEDIMIENTO DE COMBOBOX LLENAR EDAD Private Sub Cargar_Edad( ) cboEdad.AddItem ("5") cboEdad.AddItem ("6") cboEdad.AddItem ("7") cboEdad.AddItem.
Ada 2º Parte (variables, ámbitos, subrutinas, tipos abstractos de datos y excepciones)
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
 Realizar una aplicación que genere los cinco números de la loto (esto es cinco números aleatorios entre 1 y 99 no repetidos) C Límite inferior Límite.
En el presente trabajo, se explica los diferentes elementos que nos ofrece Microsoft Access, para hacer mas fácil y rápido la realización de bases de.
CREAR PROCEDIMIENTO DE COMBOBOX LLENAR EDAD Private Sub Cargar_Edad( ) cboEdad.AddItem ("5") cboEdad.AddItem ("6") cboEdad.AddItem ("7") cboEdad.AddItem.
Helpers en ASP.NET MVC3. Introducción Los helpers son una herramienta muy potente para generar nuestro propio código HTML dentro de las vistas. Los helpers.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
CICLOS ESTRUCTURA DE REPETICIÓN PROG 2270LGUILLERMO SOLLA.
Entrada y Salida en C++, Estructuras de Control Prof. Manuel B. Sánchez.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 4 – Tipos de Datos.
Ing. Sanchez Castillo Eddye Arturo Escuela Académica Profesional de Ingeniería de Sistemas.
Helpers en ASP.NET MVC3. Introducción Los helpers son una herramienta muy potente para generar nuestro propio código HTML dentro de las vistas. Los helpers.
Transcripción de la presentación:

Leonel Morales Díaz Ingeniería Simple leonel@ingenieriasimple.com Manejo de Errores Leonel Morales Díaz Ingeniería Simple leonel@ingenieriasimple.com Copyright 2008 by Leonel Morales Díaz – Ingeniería Simple. Derechos reservados Disponible en: http://www.ingenieriasimple.com/introprogra

Errores de Léxico Uso de un símbolo no definido Uso de símbolos que no son del lenguaje Ejemplo: Dima UnStr UnStr -- “Guatemala” For i = * To 40j

Errores de Sintáxis Uso de símbolos en lugares inadecuados Omisión del símbolo correcto Ejemplo: If A < Then A = 38**B Else B = B*4>A If

Errores Semánticos Errores en el sentido de la construcción No tiene sentido Ejemplo: Dim A,B A = “Guatemala” B = A*8

Errores Lógicos El programa no corresponde con lo que se quiere hacer Produce resultados ilógicos Ejemplo: Construír una tabla de 2x2 en cada celda de una de 2x2

Errores Lógicos ej074.html 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 Do While j < 2 Document.Write "<TD> </TD>" j = j + 1 Loop Document.Write "</TR>" i = i + 1 Document.Write "</Table></TD>" Next Document.Write "</Table>" ej074.html

Errores de Tiempo de Corrida Ocurren en condiciones específicas durante la ejecución No fueron previstos al programar Detienen la ejecución del programa Ejemplos: División entre cero Indices fuera de límites en vectores Uso no válido de nulo Cambio de formatos de fecha Abrir un archivo inexistente

El Objeto Err Almacena los datos del último error Es un objeto Tiene propiedades o atributos Tiene comportamiento (métodos) Propiedades: Number, Source, Description Métodos: Clear, Raise

¿De qué sirve el objeto Err? Si la ejecución se detuvo, ¿cómo se puede consultar la información del error?

Flujo en Caso de Errores Instrucción On Error Si hay un error: Si se usa On Error Resume Next Continúa en la siguiente instrucción Si se usa On Error Goto 0 El programa se detiene Se marca error Si nada se indica Se asume On Error Goto 0

¿Dónde Ocurre Error? Dim i,Arr1(8) Randomize For i = 0 To 8 Arr1(i) = Round(Rnd()*10,0) Next Arr1(i) = Arr1(i) / Arr1(i+1) Document.Write "<Table Border=1><TR>" For i = 0 To 9 Document.Write "<TD>" & Arr1(i) & "</TD>" Document.Write "</TR></Table>"

On Error Resume Next Dim i,Arr1(8) Randomize For i = 0 To 8 Arr1(i) = Round(Rnd()*10,0) Next On Error Resume Next Arr1(i) = Arr1(i) / Arr1(i+1) Document.Write "<Table Border=1><TR>" For i = 0 To 9 Document.Write "<TD>" & Arr1(i) & "</TD>" Document.Write "</TR></Table>" Dim i,Arr1(8) Randomize For i = 0 To 8 Arr1(i) = Round(Rnd()*10,0) Next On Error Resume Next Arr1(i) = Arr1(i) / Arr1(i+1) On Error Goto 0 Document.Write "<Table Border=1><TR>" For i = 0 To 9 Document.Write "<TD>" & Arr1(i) & "</TD>" Document.Write "</TR></Table>"

Políticas de Error No hacer nada A favor: En contra: Se atiende el error cuando ocurre A favor: Desarrollo más rápido Código más simple En contra: Hay que “parchar” el código Costos de soporte y mantenimiento

Políticas de Error Que ocurra “elegantemente” A favor: En contra: Mostrar mensaje explicativo del error Guardarlo en una bitácora A favor: Se maneja el error de forma sencilla y estandarizada En contra: Se obliga al usuario a interpretarlo Mucho código “de cajón”

Ocurre Elegantemente ej075.html Dim UnNum,Repetir Repetir = True Do While Repetir UnNum = InputBox("Ingrese un número","Ingreso",0) On Error Resume Next Document.Write "El número ingresado es: " & UnNum & _ " que dividido 8 da: " & (UnNum/8) If Err.Number > 0 Then MsgBox "Ha ocurrido el error:" & VBNewLine & Err.Number & _ VBNewLine & "de descripción:" & 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

Políticas de Error Que ocurra sin que se note A favor: En contra: 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

Políticas de Error Cero tolerancia a errores Prevenir los errores, hacer que no ocurran Eliminar los errores antes de producción Si pueden ocurrir anticiparse Si no pueden anticiparse hacer que: Falle en seguro (fail safe) Degradación aceptable (fail soft) Tolerancia completa (fail operational)

Políticas de Error Cero tolerancia a errores A favor: En contra: Exige planificar la codificación Exige disciplina en la codificación Reduce costos de soporte y mantenimiento En contra: Difícil de implementar

Errores de Strings Verificar Cadena vacía No nulo Longitud cero No nulo Espacios al inicio y al final Espacios en el medio ej076.html ej077.html