1
00:00:05,080 --> 00:00:12,920
Hoy toca el turno de hablar de manejo de errores el manejo de errores es uno de los aspectos más importantes

2
00:00:12,920 --> 00:00:14,680
del desarrollo de software.

3
00:00:14,810 --> 00:00:23,510
Es tan importante como las validaciones y ustedes nunca nunca serán programadores profesionales desarrolladores

4
00:00:23,510 --> 00:00:24,630
profesionales.

5
00:00:24,740 --> 00:00:31,010
Si no aprenden a manejar los errores que puede dar una aplicación que hayan hecho ustedes el manejo

6
00:00:31,010 --> 00:00:35,090
de validaciones y el manejo de errores es lo más importante.

7
00:00:35,090 --> 00:00:43,760
Pueden ser verdaderos genios Armando algoritmos encontrando soluciones a problemas y conociendo el lenguaje

8
00:00:44,030 --> 00:00:45,350
de manera perfecta.

9
00:00:45,350 --> 00:00:52,400
Ahora si ustedes no son muy buenos o descuidados en el manejo de errores y en el manejo de validaciones

10
00:00:52,640 --> 00:00:55,670
el sistema puede ser un verdadero fracaso.

11
00:00:55,670 --> 00:01:03,650
Vamos a ver un ejemplo de manejo de errores que tiene que ver ya no con validar lo que el usuario ingresa

12
00:01:03,650 --> 00:01:12,290
sino con capturar en tiempo real eventos que pueden ocurrir desgraciados como por ejemplo que se caiga

13
00:01:12,290 --> 00:01:19,250
la conexión a Internet o que quiera hacer una operación en el disco con un archivo y el archivo no exista

14
00:01:19,250 --> 00:01:21,310
o haya cualquier tipo de error.

15
00:01:21,320 --> 00:01:23,680
Vamos a ver un ejemplo.

16
00:01:23,920 --> 00:01:31,220
Crear un programita una ventanita con un botón que dice copiar archivos y aquí arriba tengo el código

17
00:01:31,280 --> 00:01:38,120
que lo que va a intentar hacer es copiar un archivo que no existe a otro archivo que no existe tampoco.

18
00:01:38,150 --> 00:01:41,130
Lo importante no es el destino sino el origen.

19
00:01:41,270 --> 00:01:48,680
Va a intentar abrir y leer un archivo que realmente no existe en mi disco se voy a hacer clic en el

20
00:01:48,680 --> 00:01:53,750
botón y vamos a ver qué es lo que nos arroja el sistema operativo como error.

21
00:01:53,750 --> 00:02:00,320
Esto nosotros lo vemos de esta manera porque tenemos el visual Estudio abierto porque estamos en etapa

22
00:02:00,320 --> 00:02:06,320
de desarrollo pero si ustedes hicieran esta aplicación y se la entregarán a un cliente el cliente en

23
00:02:06,320 --> 00:02:14,090
su PC ejecuta esa opción y hace clic donde dice copiar archivo el error que le daría sería un error

24
00:02:14,090 --> 00:02:18,710
mucho más feo o un mensaje ilegible para el cliente.

25
00:02:18,710 --> 00:02:25,550
Y lo más importante cuando el cliente haga clic en la ventana del error se le va a cerrar toda la aplicación.

26
00:02:25,550 --> 00:02:31,460
Lo que nosotros tenemos que evitar es que la aplicación se cierre de manera abrupta sin que nosotros

27
00:02:31,460 --> 00:02:38,000
manejemos esa excepción si luego el error que nos dio es lo suficientemente grave como para decidir

28
00:02:38,000 --> 00:02:46,100
si continuamos o no con el sistema al menos tengamos nosotros la potestad de decidir si cerramos el

29
00:02:46,100 --> 00:02:53,000
sistema o no. Muy bien aquí tenemos que se encontró no se encontró y el nombre del error es un fail

30
00:02:53,030 --> 00:02:55,090
not found exception.

31
00:02:55,160 --> 00:03:02,650
Imagínense ustedes el cliente que le aparezca un texto que dice Find not found exception y encima todo

32
00:03:02,650 --> 00:03:03,410
junto.

33
00:03:03,410 --> 00:03:09,530
Si el cliente sabe inglés se va a dar cuenta de lo que sí lo que significa pero no es la idea nuestro

34
00:03:09,530 --> 00:03:15,350
sistema tiene que ser profesional y cualquier excepción que ocurra la tenemos que capturar y mostrarla

35
00:03:15,350 --> 00:03:21,020
de una manera con un cartel con un mensaje acorde profesional.

36
00:03:21,110 --> 00:03:23,520
Vamos a ver cómo se resolvería esto.

37
00:03:23,520 --> 00:03:31,230
Bueno nosotros tenemos que encapsular nuestras instrucciones con estructuras de manejo de error.

38
00:03:31,340 --> 00:03:38,900
Si en el lenguaje que estoy programando por ser un lenguaje viejo no tiene estas estructuras de encapsulamiento

39
00:03:38,900 --> 00:03:42,890
de errores vamos a ver cómo lo maneja ese lenguaje.

40
00:03:42,890 --> 00:03:50,970
Por lo pronto en Visual Basic punto net que recuerden que no es el elhecho del capítulo enseñarles visual

41
00:03:51,100 --> 00:03:59,120
y puntuales sino que estamos viendo un ejemplo nosotros lo manejamos con un conjunto con una estructura

42
00:03:59,120 --> 00:04:03,050
llamada troika CH voy a pegarlo.

43
00:04:03,080 --> 00:04:08,420
Es una estructura trai traéis significa intente e intente hacer esto.

44
00:04:08,570 --> 00:04:09,920
Ahora si le dio error.

45
00:04:09,920 --> 00:04:16,430
Por todo esto que yo puse aquí dentro del traje lo voy a tener que capturar dentro de esta sección.

46
00:04:16,430 --> 00:04:23,930
Esto significa que cuando el sistema llegue a esta línea y la ejecute al dar un error no importa cuántas

47
00:04:23,930 --> 00:04:31,970
instrucciones tenga debajo no las va ejecutar va a saltar el error y me va a enviar a esta sección de

48
00:04:31,970 --> 00:04:35,860
Catch Catch es capturar catch viene del beisbol.

49
00:04:36,050 --> 00:04:38,990
El catcher el que captura la bola muy bien.

50
00:04:38,990 --> 00:04:48,710
Entonces voy a capturar el error voy a capturar el error y me va a convertir el error en un objeto llamado

51
00:04:48,790 --> 00:04:50,350
éx Deception.

52
00:04:50,600 --> 00:04:57,440
Es una variable es un objeto es un es una estructura que tiene una serie de propiedades dentro de las

53
00:04:57,440 --> 00:05:04,960
cuales yo voy a poder mostrar la propiedad descripción muy bien ahora vamos es que vamos a ver cómo

54
00:05:04,960 --> 00:05:14,950
se vería mi error de filósofo ejecutamos hacemos clic en copiar archivo y ahora me permite porque lo

55
00:05:14,950 --> 00:05:23,080
he hecho yo aquí mandaron mesas mesas box a pantalla un mensaje diciendo ocurrió un error.

56
00:05:23,080 --> 00:05:27,870
El error es que no se pudo encontrar el archivo se X.

57
00:05:27,890 --> 00:05:28,550
Punto.

58
00:05:28,660 --> 00:05:37,220
Vean que esto es mucho más presentable que mostraron un error que largue el Windows diciendo file not

59
00:05:37,220 --> 00:05:38,350
for decepción.

60
00:05:38,470 --> 00:05:46,300
Y lo más importante que cuando yo le dé a aceptar no no se me fue él la ejecución del sistema.

61
00:05:46,480 --> 00:05:53,150
Sigo estando dentro del sistema por supuesto aquí si yo tenía más instrucciones de aquí no las ejecutó.

62
00:05:53,200 --> 00:06:02,110
Yo voy a tener que luego programáticamente ver qué hago luego aquí yo voy a luego del mesãas Box voy

63
00:06:02,110 --> 00:06:05,660
a hacer lo necesario y ejecutar instrucciones.

64
00:06:05,710 --> 00:06:12,160
Voy a volver para atrás voy a decirle bueno que ejecute que ejecute la siguiente instrucción luego del

65
00:06:12,160 --> 00:06:12,810
error.

66
00:06:12,850 --> 00:06:19,360
Todo eso es factible en los lenguajes actuales dependiendo el lenguaje que ustedes trabajen no es lo

67
00:06:19,360 --> 00:06:25,900
mismo ver esto en Visual Basic punto net que ensillar es más o menos parecido comparten el mismo French

68
00:06:25,900 --> 00:06:26,340
Word.

69
00:06:26,590 --> 00:06:35,110
Pero si van al mundo de JavaScript o de Java esto puede tener muchas variantes así que no se fijen en

70
00:06:35,110 --> 00:06:39,200
la sintaxis sino que tienen que fijarse en el concepto.

71
00:06:39,220 --> 00:06:47,080
El concepto es todo mi sistema para las operaciones que tienen misión crítica y yo les diría todas las

72
00:06:47,080 --> 00:06:53,890
operaciones todas las rutinas tienen que tener una estructura de manejo de error cada rutina que hacen

73
00:06:54,120 --> 00:06:55,360
le graban.

74
00:06:55,420 --> 00:07:01,180
Esta estructura de manejo de error y por supuesto tienen que programar toda la lógica qué ocurre cuando

75
00:07:01,180 --> 00:07:05,530
en esa rutina ocurrió un error y que cómo vamos a reaccionar.

76
00:07:05,530 --> 00:07:11,650
Esto es muy importante esto que ustedes están viendo ahora es el área más sensible porque es el área

77
00:07:11,650 --> 00:07:19,630
donde cuando uno está apurado o tiene fechas de entrega tiene que entrar en producción a veces es donde

78
00:07:19,750 --> 00:07:27,760
uno digamos evita ponerle mayor atención y luego se paga caro se paga caro porque luego vienen los errores

79
00:07:27,760 --> 00:07:34,630
vienen las pinchaduras del sistema y ahí es donde realmente nos terminamos dando cuenta que siempre

80
00:07:34,630 --> 00:07:38,950
es mejor perder un poco más de tiempo pero hacer las cosas bien.

81
00:07:39,370 --> 00:07:41,240
Así que bueno es muy importante.

82
00:07:41,260 --> 00:07:48,970
Manejo de errores manejo de validaciones y nos vamos al próximo capítulo para hablar de ayudas e de

83
00:07:48,970 --> 00:07:55,240
ayudas y comentarios que son muy útiles cuando vamos a manejar código de programación.

84
00:07:55,240 --> 00:07:57,040
Nos vemos en el próximo capítulo.
