Upload
ronald-a-cortez-b
View
25
Download
1
Embed Size (px)
Citation preview
Universidad de orienteNúcleo de Monagas
Departamento de Ingeniería de sistemasCurso Especial de Grado
Maturín/ Monagas/ Venezuela
Profesor: Ing. Jonathan Vásquez
Equipo ASP.NET:Ronald CortezCarlos Castro
Maturín, Abril del 2015
Manejo de Errores
CONTENIDO• Introducción
• Tipos de errores
• Errores de sintaxis
• Errores semánticos
• Errores de ejecución
• Manejos de excepciones
• Manejos de excepciones en Python
• Tratamiento de excepciones en Java
• Tipos de excepciones
• Excepciones checked
• Excepciones unchecked
• Cierre
• Conclusión
Errores
Error de Sintaxis
Son detectados por el intérprete (o por el compilador, según el tipo de lenguaje que estemos utilizando) al procesar el código fuente y generalmente son consecuencia de equivocaciones al escribir el programa.
Errores
Ejemplo en lenguaje C
printf( "\n Introduzca el primer número (entero): " );
un programador escribe:
prrintf( "\n Introduzca el primer número (entero): " );
Errores
Creemos un proyecto llamado SuperficieCuadrado y una clase llamada SuperficieCuadrado. Codificamos el algoritmo en Java e introducimos dos errores sintáctico:1 - Disponemos el nombre del objeto System con minúsculas.2 - Tratamos de imprimir el nombre de la variable superficie con el primer carácter en mayúsculas.
Ejemplo en Java
Errores
>>> while True print('Hola mundo')Traceback (most recent call last):... while True print('Hola mundo') ^SyntaxError: invalid syntax
Ejemplo en PYTHON
El intérprete repite la línea culpable y muestra una pequeña ‘flecha’ que apunta al primer lugar donde se detectó el error. Este es causado por (o al menos detectado en) el símbolo que precede a la flecha: en el ejemplo, el error se detecta en la función print(), ya que faltan dos puntos (':') antes del mismo. Se muestran el nombre del archivo y el número de línea para que sepas dónde mirar en caso de que la entrada venga de un programa.
Errores
Nos permite identificar muchas premisas que evaluamos y llevamos a cabo a su
debida formulación para así poder tomar una decisión.
Errores lógicos
Errores
Errores de ejecución
Un error de ejecución se produce cuando el ordenador no puede ejecutar alguna instrucción de
forma correcta. Por ejemplo, en lenguaje C, la instrucción:
c = 5 / 0;
es correcta sintácticamente y será traducida a código binario. Sin embargo, cuando la computadora intente
realizar la división:
5 / 0
se producirá un error de ejecución, ya que, matemáticamente, no se puede dividir entre cero.
Excepciones
Manejo de excepciones
Para el manejo de excepciones los lenguajes proveen ciertas palabras reservadas, que nos permiten manejar las excepciones que puedan surgir y tomar acciones de recuperación para evitar la interrupción del programa o,
al menos, para realizar algunas acciones adicionales antes de interrumpir el programa.
Excepciones
Excepciones en Python
En el caso de Python, el manejo de excepciones se hace mediante los bloques que utilizan las sentencias try, except y finally.Dentro del bloque try se ubica todo el código que pueda llegar a levantar una excepción, se utiliza el término levantar para referirse a la acción de generar una excepción.El bloque except, que se encarga de capturar la excepción y nos da la oportunidad de procesarla mostrando por ejemplo un mensaje adecuado al usuario.El bloque finally donde se escriben las sentencias de finalización, que son típicamente acciones de limpieza. La particularidad del bloque finally es que se ejecuta siempre, haya surgido una excepción o no.
Excepciones
Excepciones en Python
y=0x=10/yprint 'esta línea nunca se ejecuta'
Utilizando excepciones podemos capturar el error y continuar la ejecución del programa:y=0try: x=10/yexcept ZeroDivisionError: print 'No existe la división por cero‘print 'Esta línea si se ejecuta'
Excepciones
Excepciones en Python
lista1=['Keyla','Argenis','Ronald']
try:print lista1[5]
except IndexError:print 'Intenta acceder a un elemento no existente a
la lista'
Excepciones
Excepciones en Java
Todas las excepciones en Java se representan, como vamos a ver en la siguiente sección, a través de objetos que heredan, en última instancia, de la clase java.lang.Throwable..
Excepciones
Excepciones en Java
El lenguaje Java diferencia claramente entre tres tipos de excepciones: errores, comprobadas (en adelante checked) y no comprobadas (en adelante unchecked). El gráfico que se muestra a continuación muestra el árbol de herencia de las excepciones en Java (se omite el paquete de todas las que aparecen, que es java.lang):
ExcepcionesExcepciones Checked
Una excepción de tipo checked representa un error del cual técnicamente podemos recuperarnos.
class Exc2 { public static void main(String args[]) { int d, a; try { // controla un bloque de código. d = 0; a = 42 / d; System.out.println("Esto no se imprimirá."); } catch (ArithmeticException ) {// captura el error de división System.out.println("División por cero."); } System.out.println("Después de la sentencia catch."); }}
ExcepcionesExcepciones Checked
Una excepción de tipo unchecked representa un error de programación. Uno de los ejemplos más tipicos es el de intentar leer en un array de N elementos un elemento que se encuentra en una posición mayor que N:
int[] numerosPrimos = {1, 3, 5, 7, 9, 11, 13, 17, 19, 23}; // Array de diez elementos
int undecimoPrimo = numerosPrimos[10]; // Accedemos al undécimo elemento mediante el literal numérico 10
El código anterior accede a una posición inexistente dentro del array, y su ejecución lanzará la excepción uncheckedArrayIndexOutOfBoundsException (excepción de índice de array fuera de límite).
ExcepcionesExcepciones Checked
Esto es claramente un error de programación, ya que el código debería haber comprobado el tamaño del array antes de intentar acceder a una posición concreta:
int[] numerosPrimos = {1, 3, 5, 7, 9, 11, 13, 17, 19, 23}; int indiceUndecimoPrimo = 10; if(indiceUndecimoPrimo > numerosPrimos.length) { System.out.println("El índice proporcionado (" + indiceUndecimoPrimo + ") es mayor que el tamaño del array (" + numerosPrimos.length + ")"); } else { int undecimoPrimo = numerosPrimos[indiceUndecimoPrimo]; // ... }
Conclusiones
Podemos calcular si la idea plasmada es verdadera o falsa.
Nos permite dar una opinión de acuerdo a un planteamiento o proposición, siendo así
una respuesta verdadera o falsa.
El hecho de que una proposición sea verdadera o falsa no significa de que su
contenido sea realmente verdadero o falso.
Referencias Bibliográficas
l
http://www.google.co.ve/imgres?imgurl=http://image.slidesharecdn.com/201508manejoestructuradodeexcepciones-pdf1-091027000730-phpapp02/95/manejo-estructurado-de-excepciones-3-728.jpg%253Fcb%253D1256620063&imgrefurl=http://es.slideshare.net/marfonline/manejo-estructurado-de-excepciones&h=728&w=942&tbnid=JlCTN0-h5HQfsM:&zoom=1&docid=oa27O_oAilFrxM&ei=O4IgVeCQM4GTsAXYrYGQDA&tbm=isch&ved=0CB0QMygDMAM