1
00:00:00,390 --> 00:00:05,760
Continuamos de a poco, vamos a ir adentrándonos en temas un poco más avanzados, pero da poco después,

2
00:00:05,760 --> 00:00:08,430
igual vamos a ir profundizando en esta clase.

3
00:00:08,520 --> 00:00:13,920
Vamos a ver algunos temas que vamos a ver más adelante en profundidad, pero también es importante que

4
00:00:13,920 --> 00:00:16,950
se vayan familiarizando de a poco, lentamente.

5
00:00:17,070 --> 00:00:21,980
En esta primera parte del curso del entonces número decimal, acá lo tenemos en 30.

6
00:00:22,170 --> 00:00:27,210
Bueno, está muy acoplado, con código duro y podríamos hacerlo otra aplicación mucho más dinámica.

7
00:00:27,300 --> 00:00:31,830
Es decir, que el usuario pueda ingresar en número y de forma automática puede convertir a los distintos

8
00:00:31,830 --> 00:00:33,930
sistema numérico conversor automático.

9
00:00:33,990 --> 00:00:38,400
Pero para eso tenemos que implementar un sistema de entrada, es decir, que el usuario pueda escribir

10
00:00:38,520 --> 00:00:43,390
el número valier este número de alguna forma y realizar el cálculo de diferente forma.

11
00:00:43,590 --> 00:00:49,320
Por ejemplo, en el terminal en la consola ingresan dos números, pero también mediante una ventanita.

12
00:00:49,380 --> 00:00:55,110
Por ejemplo, que aparezca alguna ventanita tipo Windows que nos diga ingrese un número entero, por

13
00:00:55,110 --> 00:01:00,150
ejemplo, y vamos a partir con eso primero y después vamos a ver la otra forma, que sería en el terminal.

14
00:01:00,430 --> 00:01:05,870
Entonces en vez de 30 lo vamos a quitar y lo vamos a reemplazar por el componente de Java, es decir,

15
00:01:05,870 --> 00:01:06,570
ya viene incluido.

16
00:01:06,570 --> 00:01:10,260
Viene desarrollado en el API de ventana de Java, en el API Swing.

17
00:01:10,410 --> 00:01:15,420
Bueno, yo sé que estoy entrando quizás en tema un poco más avanzado, pero la idea es ir utilizando

18
00:01:15,510 --> 00:01:20,490
este componente que hace nuestras creaciones más dinámicas y también más entretenida y no tan plana.

19
00:01:20,910 --> 00:01:29,040
La Jota Olly en mayúscula, la también option lo demás es minúscula Ochún, la P con mayúscula.

20
00:01:29,340 --> 00:01:32,860
Recuerden cuando se separan palabra compuesta se separa con mayúsculas.

21
00:01:33,790 --> 00:01:34,090
Ocho.

22
00:01:34,500 --> 00:01:37,320
Punto porque la tenemos yo.

23
00:01:37,440 --> 00:01:38,670
Input diálogo.

24
00:01:38,820 --> 00:01:41,480
Yo input la I con mayúscula.

25
00:01:41,700 --> 00:01:42,300
Diálogo.

26
00:01:43,300 --> 00:01:48,440
Es decir, mostrar una ventana de diálogo para entrada input y acá no parámetro.

27
00:01:49,090 --> 00:01:53,050
Vamos a colocar el primero Nul da lo mismo, el primero, el componente padre.

28
00:01:53,080 --> 00:01:59,890
Pero como no tenemos un componente padre, lo dejamos en el segundo el mensaje, por ejemplo, ingrese

29
00:01:59,980 --> 00:02:00,840
un número entero.

30
00:02:04,420 --> 00:02:09,810
Pero acá estamos recibiendo un quinto, es decir, esperamos recibir un entero, un número decimal y

31
00:02:09,820 --> 00:02:11,730
lo que nos retorna es un streeck.

32
00:02:12,190 --> 00:02:15,670
Se fijan, requiere un entero, pero recibimos un string.

33
00:02:16,060 --> 00:02:20,560
Entonces, bueno, lo que se ingresa en este input, porque al final es un campos, es una ventana de

34
00:02:20,560 --> 00:02:22,130
diálogo con un campo, con un input.

35
00:02:22,230 --> 00:02:27,190
Lo que se ingresa en ese campo lo recibimos como un string, pero supuestamente este campo el valor

36
00:02:27,280 --> 00:02:28,390
va a ser un entero.

37
00:02:28,480 --> 00:02:33,910
Entonces lo tenemos que convertir utilizando la clase Integer de Java, temas avanzados que durante

38
00:02:33,910 --> 00:02:37,500
el curso vamos a ir utilizando y viendo cada vez más en detalle.

39
00:02:37,510 --> 00:02:38,410
Así que no se preocupen.

40
00:02:38,890 --> 00:02:44,830
Lo importante, por ahora, es que comprendan qué es para ingresar datos a nuestra aplicación de forma

41
00:02:44,890 --> 00:02:50,440
amistosa al usuario mediante una ventana de diálogo, y lo que tengo que hacer es convertir esto a un

42
00:02:50,440 --> 00:02:52,560
tipo entero con intuyes.

43
00:02:52,930 --> 00:02:55,150
Entonces este valor que es un trinquen?

44
00:02:56,650 --> 00:02:57,790
Para que no nos confundamos.

45
00:02:58,000 --> 00:03:05,650
Incluso lo podríamos cortar acá lo podríamos cortar y acá vamos a colocar streeck pakete claro, número

46
00:03:05,770 --> 00:03:10,780
ese terreno iniciando con mayúscula STR igual esto perfecto.

47
00:03:10,960 --> 00:03:12,810
Ahí tenemos nuestro número, pero en formatos.

48
00:03:13,150 --> 00:03:15,430
Ahora tenés que convertir esto a un número entero.

49
00:03:15,520 --> 00:03:17,460
Para eso utilizamos la clase integer.

50
00:03:18,190 --> 00:03:21,750
Punto pars inte parse inte.

51
00:03:22,950 --> 00:03:25,970
Y recibe un streeck numérico.

52
00:03:26,010 --> 00:03:26,880
Tiene que ser un número.

53
00:03:27,380 --> 00:03:29,490
Lo vas a ver, pero ahí lo tenemos y fijan.

54
00:03:29,580 --> 00:03:34,530
Entonces ahí convertimos el número, vamos a guardar y vamos a probar.

55
00:03:34,830 --> 00:03:35,580
Levantamos.

56
00:03:37,470 --> 00:03:43,980
Se fijan, aparece una ventana, un input, ingresa un número entero por ejemplo 30 o cualquiera 30.

57
00:03:45,120 --> 00:03:51,950
Y ese cálculo número binario 30 acá lo tenemos octal y hexadecimal, así que funciona bien.

58
00:03:52,190 --> 00:03:54,440
Estamos automatizando, volvemos a ejecutar.

59
00:03:55,830 --> 00:03:56,490
500.

60
00:03:57,890 --> 00:04:03,320
Perfecto binario 500, octal de 500 y hexadecimal de 500.

61
00:04:03,710 --> 00:04:09,360
Funciona bien entonces la idea de mostrar este resultado, esto mismo resultado en una ventana también

62
00:04:09,500 --> 00:04:14,720
de diálogo, pero en una ventana de mensaje y lo que vamos a hacer ahora, entonces por acá también

63
00:04:14,810 --> 00:04:16,820
utilizando esto mismo componente.

64
00:04:16,880 --> 00:04:18,290
Esta misma clase Yi Op.

65
00:04:18,290 --> 00:04:21,700
Champaign, una clase con métodos estáticos se dirigen.

66
00:04:21,950 --> 00:04:26,050
No es necesario tener que instan cierta clase, simplemente se invoca el método de otra forma.

67
00:04:26,150 --> 00:04:30,830
No se preocupen, porque todo lo que método estático, atributo estático lo vamos a ver después.

68
00:04:30,920 --> 00:04:34,190
En programación orientada, objeto y lo vamos a comprender mucho mejor.

69
00:04:34,220 --> 00:04:36,050
Por ahora simplemente se utiliza.

70
00:04:38,990 --> 00:04:41,010
Buscamos mostrar mensaje.

71
00:04:41,130 --> 00:04:41,480
Diálogo.

72
00:04:42,050 --> 00:04:43,460
Mesas de diálogo.

73
00:04:43,980 --> 00:04:49,380
El primero, el componente padre lo dejamos el Nul y un mensaje bueno.

74
00:04:49,460 --> 00:04:52,940
Qué mensaje le pide que muestre todos estos valores?

75
00:04:53,060 --> 00:04:54,370
Todo esto es vejan.

76
00:04:54,530 --> 00:04:57,430
Entonces, por ejemplo, acá le vamos a llamar mensaje.

77
00:04:58,540 --> 00:05:05,960
Un área a la que tenemos que crear la vamos a crear acá, entonces acá un estricto mensaje igual y tenemos

78
00:05:05,960 --> 00:05:06,530
que concatenar.

79
00:05:06,650 --> 00:05:11,810
Vamos a concatenar número binario, más número octal, más número hexadecimal.

80
00:05:12,200 --> 00:05:12,980
Vamos a copiar.

81
00:05:15,530 --> 00:05:18,870
Punto y coma string factoraje.

82
00:05:21,470 --> 00:05:27,070
Mensaje y podemos concatenar de forma compuesta, es decir, al mensaje que ya tenemos a este es Trenc

83
00:05:27,080 --> 00:05:30,150
con un mas igual le agregamos, otro es trincó.

84
00:05:30,290 --> 00:05:31,490
Entonces vamos concatenando.

85
00:05:31,880 --> 00:05:35,950
Se podría decir también que una concatenación dinámica vamos a copiar esto acá.

86
00:05:37,140 --> 00:05:37,930
Y lo pegamos acá.

87
00:05:38,320 --> 00:05:38,950
Punto y coma.

88
00:05:39,290 --> 00:05:44,410
Entonces con el más igual también de pueblo, vamos a ver en los operadores de asignación, pero en

89
00:05:44,410 --> 00:05:51,640
este caso de asignación para concatenar acá toma el valor mensaje que tenía antes y lo anexando lo concatenados.

90
00:05:51,910 --> 00:05:55,520
De todas formas esto es una abreviación, es lo mismo que decir.

91
00:05:55,990 --> 00:05:58,360
Igual mensaje más.

92
00:05:58,510 --> 00:05:59,370
Eso te dejan.

93
00:05:59,480 --> 00:06:03,670
Toma el mensaje y le sumo esto, pero de una forma más resumida.

94
00:06:03,880 --> 00:06:04,870
Entonces, ahora lo mismo.

95
00:06:04,960 --> 00:06:07,160
Mensaje más.

96
00:06:07,570 --> 00:06:10,500
Igual número hexadecimal acá.

97
00:06:13,010 --> 00:06:15,680
Perfecto, vamos a probar, levantamos.

98
00:06:17,500 --> 00:06:25,030
No pide número, por ejemplo 50 OK y no muestra número binario 50 igual, tanto número total, tanto

99
00:06:25,300 --> 00:06:27,760
y tanto hexadecimal que está perfecto.

100
00:06:28,120 --> 00:06:31,270
El problema que muestra todo en una sola línea, cómo lo podríamos solucionar?

101
00:06:31,830 --> 00:06:39,150
Bueno, podríamos utilizar bajar una línea en el caso de Making Touch y Linux con la n hagámosla n y

102
00:06:39,190 --> 00:06:41,170
en el caso de Windows con la N.

103
00:06:41,320 --> 00:06:45,940
También bajamos y agregamos n después el número.

104
00:06:46,180 --> 00:06:48,940
Después vienen números, entonces de esa forma bajamos.

105
00:06:50,470 --> 00:06:51,190
Probamos.

106
00:06:55,930 --> 00:07:01,620
Número binario de 50 tanto octal 62, hexadecimal 32.

107
00:07:01,780 --> 00:07:07,140
Así que bien, si bien queda mucho mejor, nuestra aplicación ya está tomando un cuerpo mucho más dinámico.

108
00:07:07,210 --> 00:07:12,220
Pero también tengo que utilizar cosa un poco más avanzada para que sea un poco más interactivo, más

109
00:07:12,310 --> 00:07:17,790
entretenido y de a poco vamos a ir implementando este tipo cosa, ir aprendiendo cosas nueva hasta que

110
00:07:17,980 --> 00:07:23,620
se haga costumbre y también después vamos a ir profundizando cada vez más cada uno esta clase componente,

111
00:07:23,740 --> 00:07:25,410
lo que significa un método estático.

112
00:07:25,540 --> 00:07:28,520
Una clase con métodos estáticos como el Chi o Champaign.

113
00:07:28,750 --> 00:07:34,930
Después también vamos a ver tema más avanzados sobre el Happy Suit de Java y así ir de a poco.

114
00:07:35,970 --> 00:07:42,090
Ahora claro que acá estamos repitiendo así fija, estamos repitiendo el número binario acá número binario,

115
00:07:42,090 --> 00:07:44,420
acá número tal, acá número tal.

116
00:07:44,430 --> 00:07:48,210
Acá se fija el tango repitiendo, replicando lo mismo que copiar y pegar.

117
00:07:48,360 --> 00:07:50,700
Eso en programación no es buena práctica.

118
00:07:50,820 --> 00:07:55,410
Para el caso de un ejemplo como éste, de lo mismo, pero también se podría optimizar, por ejemplo,

119
00:07:55,410 --> 00:08:00,120
por cada mensaje, crear una variable de tipo string, por ejemplo.

120
00:08:00,240 --> 00:08:03,120
Lo vamos a solucionar, lo vamos a arreglar para que quede mejor todavía.

121
00:08:03,160 --> 00:08:07,560
Es un mensaje binario o texto binario?

122
00:08:07,660 --> 00:08:08,160
Da lo mismo.

123
00:08:09,840 --> 00:08:15,950
Igual vamos a cortar todo esto, lo cortamos, lo dejamos acá perfecto.

124
00:08:16,290 --> 00:08:17,220
Y esto lo dejamos acá.

125
00:08:17,640 --> 00:08:19,820
Y también número binario es todo.

126
00:08:19,830 --> 00:08:21,480
Acá lo reemplazamos.

127
00:08:22,330 --> 00:08:26,950
Por esto de que está acá, lo tenemos en una Arial, lo estamos reutilizando, no tenemos por qué estar

128
00:08:27,040 --> 00:08:30,130
duplicando código que más limpios se fijan.

129
00:08:30,230 --> 00:08:32,140
Bueno, y lo mismo con número octal.

130
00:08:35,850 --> 00:08:38,970
O más, qué mensaje que le vamos a llamar resultado entonces para acá?

131
00:08:39,080 --> 00:08:39,830
Resultado?

132
00:08:41,990 --> 00:08:42,790
Resultado?

133
00:08:44,810 --> 00:08:48,690
Resultado binario y acá también y acá también.

134
00:08:48,830 --> 00:08:49,580
Resultado?

135
00:08:51,890 --> 00:08:52,880
Resultado octal.

136
00:08:53,600 --> 00:08:56,000
Igual vamos a cortar esto entonces.

137
00:08:57,650 --> 00:08:58,550
Lo pegamos acá.

138
00:08:58,760 --> 00:09:00,230
Recuerden punto y coma.

139
00:09:01,040 --> 00:09:05,900
Copiamos el octal, lo dejamos, acampen, bajamos el salto línea, lo dejamos.

140
00:09:06,440 --> 00:09:11,000
Entonces por acá esto le quitamos, pero tengo que agregar una comilla.

141
00:09:12,300 --> 00:09:13,180
Y le concatenados.

142
00:09:14,040 --> 00:09:17,740
Resultado doctor, y lo mismo con esto número hexadecimal

143
00:09:22,470 --> 00:09:23,890
y esto también lo cortamos.

144
00:09:25,960 --> 00:09:26,790
Lo dejamos acá.

145
00:09:27,920 --> 00:09:35,300
Lo pegamos acá para imprimir en la consola y también lo dejamos acá, estoy acá, le quitamos una comilla

146
00:09:35,360 --> 00:09:40,130
para cerrar más resultado hexadecimal, es decir, concatenados.

147
00:09:40,690 --> 00:09:45,000
De esa forma queda mucho más limpio y estamos reutilizando el mensaje en el resultado binario.

148
00:09:45,200 --> 00:09:52,280
El resultado total y hexadecimal, tanto para mostrarlo en consola, pero también en nuestra ventana

149
00:09:52,370 --> 00:09:52,920
de diálogo.

150
00:09:53,330 --> 00:09:54,560
Entonces, ahora vamos a probar.

151
00:09:57,420 --> 00:09:59,340
Número 500.

152
00:09:59,790 --> 00:10:06,900
OK, perfecto y me funciona acá número binario 500 tanto y acá también sé que está funcionando bien.

153
00:10:07,610 --> 00:10:08,070
OK.

154
00:10:08,310 --> 00:10:11,130
Pero también se podría perfeccionar un poco más.

155
00:10:11,190 --> 00:10:15,300
Por ejemplo, qué pasa si ingresamos un valor que no es un entero?

156
00:10:15,420 --> 00:10:16,160
Hagamos la prueba.

157
00:10:17,210 --> 00:10:19,510
Vamos a correr y regresar un número.

158
00:10:19,610 --> 00:10:22,400
Ingresamos, por ejemplo, una palabra o una letra.

159
00:10:22,760 --> 00:10:30,950
Hola, qué cosa obviamente trata de convertir streeck hola en un tipo, intuyera en un tipo entero.

160
00:10:31,620 --> 00:10:37,100
Entonces lanza una excepción un error number format exceptúan para el input string.

161
00:10:37,250 --> 00:10:37,700
Hola!

162
00:10:37,880 --> 00:10:40,910
No se puede convertir a un entero y se rompe la aplicación.

163
00:10:41,030 --> 00:10:42,170
Bueno, cómo lo podemos solucionar?

164
00:10:42,260 --> 00:10:45,120
Bueno, eso sería contrae ICAC con manejo de decepción.

165
00:10:45,290 --> 00:10:47,420
También vamos a ir enterándonos de a poco.

166
00:10:47,510 --> 00:10:51,470
Lo podríamos ver desde ahora, pero de a poco y después más alante.

167
00:10:51,560 --> 00:10:57,620
Vamos a tener una sesión completa de manejo de errores y yo sé que vamos entrando lentamente a temas

168
00:10:57,710 --> 00:11:03,110
más avanzados, pero la idea que se vaya familiarizando para que después, cuando FM3 tema ya más en

169
00:11:03,110 --> 00:11:07,250
profundidad, no sea de golpes, sino sea de a poco, veamos cómo se soluciona.

170
00:11:07,460 --> 00:11:08,150
Nos vamos a acá.

171
00:11:08,240 --> 00:11:12,590
Número decimal por acá un Troy Troy.

172
00:11:15,260 --> 00:11:17,530
Catch saca el traje.

173
00:11:18,050 --> 00:11:19,760
Es tratar de ejecutar un código.

174
00:11:19,880 --> 00:11:23,510
Si todo sale bien, perfecto, continuemos con la ejecución normal de nuestra aplicación.

175
00:11:23,780 --> 00:11:25,160
Entonces el traje es tratar.

176
00:11:25,340 --> 00:11:27,440
Si pasa algo malo, ocurre un error.

177
00:11:27,530 --> 00:11:31,940
En el caso como esto, en una forma reception se ejecuta el catch.

178
00:11:32,060 --> 00:11:34,190
Por lo tanto, el catch va a capturar este error.

179
00:11:34,310 --> 00:11:35,870
Esta acepción lo podemos manejar.

180
00:11:36,200 --> 00:11:39,230
Bueno, pero el TRAI tiene que ver nuestro código, tiene que estar acá.

181
00:11:39,230 --> 00:11:44,600
Nuestro código entonces es toda acá, justamente donde ocurre la acepción en el Parcent, que es donde

182
00:11:44,600 --> 00:11:45,440
se está convirtiendo.

183
00:11:45,530 --> 00:11:49,070
Acá se lanza la decepción cuando el streeck no es un número.

184
00:11:51,240 --> 00:11:53,610
Se tiene que implementar acá dentro del traje.

185
00:11:54,150 --> 00:11:56,280
Y si se fijan acá tenemos las llaves.

186
00:11:56,490 --> 00:12:00,950
Por lo tanto estamos creando esta variable dentro de las llaves.

187
00:12:01,180 --> 00:12:04,040
Esta variable solamente va a asistir en este contexto en las llaves.

188
00:12:04,260 --> 00:12:10,710
Acá no. Entonces, para que exista en todo el contexto de nuestra aplicación tenemos que inicializar

189
00:12:10,800 --> 00:12:11,670
esta variable.

190
00:12:12,540 --> 00:12:16,280
Acá se inicializar fuera del traje, fuera de este contexto.

191
00:12:16,760 --> 00:12:19,980
Y cómo se inicializar con el INTI fuera del traje?

192
00:12:20,520 --> 00:12:23,660
Acá simplemente nos va la declaración solamente.

193
00:12:23,760 --> 00:12:30,360
La asignación se define definen cero inicialmente un valor por defecto y en el Troy, cuando tratamos

194
00:12:30,360 --> 00:12:33,420
de ejecutar este código para convertir acá, le asignamos el valor.

195
00:12:33,480 --> 00:12:35,490
Si todo sale bien, perfecto, no hay ningún problema.

196
00:12:35,580 --> 00:12:37,380
Si sale mal, lo capturemos en el catch.

197
00:12:38,330 --> 00:12:42,960
Y acá ya ves bien, pero dentro del catch en los paréntesis, la excepción

198
00:12:45,620 --> 00:12:53,670
de ambas, esa opción de excepción, el catch es un bloque de código alternativo para manejar el error

199
00:12:53,760 --> 00:13:01,380
y recibe parámetros argumento, en este caso solamente el objeto decepción y como todo parámetro o variable

200
00:13:01,500 --> 00:13:07,710
se tiene que especificar, se tiene que indicar declarar con el tipo dato y con el nombre de esta variable

201
00:13:07,830 --> 00:13:08,430
el tipo de dato.

202
00:13:08,640 --> 00:13:12,210
En este caso Narváez forma perception y el nombre de la variable es la.

203
00:13:12,510 --> 00:13:18,180
Pero como cualquier variable o parámetro argumento, este caso del catch puede llevar cualquier nombre.

204
00:13:18,300 --> 00:13:24,630
No solamente le podemos colocar lo que sea, pero un nombre bueno válido, como si fuera un nombre variable.

205
00:13:25,680 --> 00:13:28,380
Perfecto, entonces si con eso manejamos la excepción.

206
00:13:29,310 --> 00:13:30,750
Ahora, claro, qué sería lo ideal?

207
00:13:31,050 --> 00:13:31,920
Cómo lo manejamos?

208
00:13:32,010 --> 00:13:37,600
La idea es que no ocurra este error, sino dar un mensaje al usuario, por ejemplo, utilizando option

209
00:13:37,620 --> 00:13:40,740
point, punto o mensaje de diálogo.

210
00:13:41,830 --> 00:13:51,880
Null componente padre nos lo tenemos que siempre Null y un mensaje error debe ingresar un número entero.

211
00:13:53,110 --> 00:13:53,710
Y qué más?

212
00:13:54,280 --> 00:13:57,910
La idea es que si ocurre el error, volver a repetir el proceso.

213
00:13:58,030 --> 00:14:00,900
Y para eso tendríamos que volver a llamar al método main.

214
00:14:01,360 --> 00:14:03,100
Entonces, simplemente acá lo invocamos.

215
00:14:03,540 --> 00:14:03,940
Main.

216
00:14:04,390 --> 00:14:07,420
Invocamos el método Main de forma directa.

217
00:14:08,080 --> 00:14:12,100
Pasamos lo mismo argumentos acá, ya que lo requiere.

218
00:14:12,220 --> 00:14:14,550
Necesita tener estos argumentos para invocar el.

219
00:14:15,040 --> 00:14:19,320
Después vamos a entrar en detalles sobre métodos, pero por ahora lo llamamos argumentos.

220
00:14:19,460 --> 00:14:23,310
Bueno, y tenemos que salirnos porque el catch se vuelve a ejecutar en Maine.

221
00:14:23,500 --> 00:14:29,110
Se vuelve a repetir este proceso es como recursivo, se fijan, ocurre el error y se vuelve a invocar

222
00:14:29,110 --> 00:14:30,490
en Maine de forma recursiva.

223
00:14:30,580 --> 00:14:32,110
Dentro del main ocurre el error.

224
00:14:32,110 --> 00:14:35,620
Se llama Helmet, pero acá después no se ejecute y todo salga bien.

225
00:14:35,710 --> 00:14:42,140
Se volvería a ejecutar este código y la idea es que no solamente se ejecute una sola vez el main, entonces

226
00:14:42,160 --> 00:14:46,890
simplemente no salimos y hay dos opciones ratón, ya que retorna bayt.

227
00:14:47,080 --> 00:14:49,330
Entonces hacemos un ratón sin nada.

228
00:14:49,690 --> 00:14:54,160
O mejor aún, usar la clase system system para salirnos.

229
00:14:54,250 --> 00:14:56,890
Entonces, punto exit por acá tenemos.

230
00:14:58,860 --> 00:15:04,020
Con el estatus cero cero, que todo salió sin ningún problema, todo salió bien.

231
00:15:04,650 --> 00:15:09,900
Con el troikas intentamos ejecutar un código, lo convertimos, si todo sale bien, perfecto, no hay

232
00:15:09,900 --> 00:15:10,440
ningún problema.

233
00:15:10,500 --> 00:15:16,530
El coach nos ejecuta y continúa con la ejecución normal de la aplicación, tal como lo teníamos antes.

234
00:15:17,220 --> 00:15:21,990
Ahora, qué pasa si ingresamos un número mal, una letra o una palabra?

235
00:15:22,210 --> 00:15:23,390
Bueno, ocurre el error.

236
00:15:23,610 --> 00:15:25,920
Lo captura el catch y lo manejamos acá.

237
00:15:26,460 --> 00:15:33,390
Damos el mensaje, volvemos a ejecutar en Maine el método de forma recursiva y todo comienza de nuevo.

238
00:15:33,480 --> 00:15:40,110
Ingresamos el número correcto, por ejemplo 10, 20 o cualquiera, y cuando se ejecuta todo nos salimos

239
00:15:40,140 --> 00:15:41,140
con el estatus cero.

240
00:15:41,520 --> 00:15:42,550
Por lo tanto, es todo.

241
00:15:42,620 --> 00:15:47,370
Acaya no se vuelve a ejecutar, se ejecuta solamente main una sola vez de forma recursiva, y eso es

242
00:15:47,370 --> 00:15:47,730
todo.

243
00:15:47,850 --> 00:15:53,730
Ahora, insisto, si no comprenden a cabalidad completamente este código, no se preocupen, porque

244
00:15:53,730 --> 00:15:58,710
después vamos a entrar más en detalle a lo que Stray Cat y todo lo demás.

245
00:15:58,770 --> 00:16:04,800
Pero por ahora importante que el troikas es solamente para manejar errores, donde el Troy intenta ejecutar

246
00:16:04,890 --> 00:16:06,210
un fragmento de código.

247
00:16:06,450 --> 00:16:09,690
Si todo sale bien, continúa, se continúa con esto de acá.

248
00:16:09,900 --> 00:16:16,080
Si sale mal, lo manejamos en el catch, lo capturamos en el catch, capturar la acepción y la manejamos

249
00:16:16,290 --> 00:16:18,590
con un mensaje y volvemos a invocar en vain.

250
00:16:18,620 --> 00:16:19,740
Bueno, y nos salimos.

251
00:16:20,960 --> 00:16:21,740
Vamos a probar.

252
00:16:24,450 --> 00:16:27,240
Perfecto, vamos a ingresar un número correcto.

253
00:16:27,600 --> 00:16:30,210
18 OK, funciona bien.

254
00:16:31,270 --> 00:16:31,890
Y se sale.

255
00:16:32,010 --> 00:16:35,040
Ahí termina Processo porque se ejecutó todo perfecto.

256
00:16:35,760 --> 00:16:36,800
Ahora volvemos.

257
00:16:38,560 --> 00:16:41,670
Pero vamos a colocar la letra H, que no es un número.

258
00:16:41,880 --> 00:16:42,620
Debería fallar.

259
00:16:43,570 --> 00:16:44,550
Perfecto error.

260
00:16:44,650 --> 00:16:47,560
Debe ingresar un número justamente porque ingresó al catch.

261
00:16:47,800 --> 00:16:50,150
Ocurrió el error acá y lo manejamos ok.

262
00:16:50,910 --> 00:16:55,780
Y se vuelve a repetir el proceso de forma recursiva, invocando Arment ingreso número entero.

263
00:16:56,290 --> 00:17:00,490
Entonces partimos de nuevo acá colocamos, por ejemplo, somos porfiado.

264
00:17:00,490 --> 00:17:01,600
Colocamos X.

265
00:17:02,710 --> 00:17:03,160
Error.

266
00:17:03,220 --> 00:17:05,590
Y se vuelve a repetir el proceso de forma recursiva.

267
00:17:05,890 --> 00:17:07,050
Ahora sí que si colocábamos.

268
00:17:07,150 --> 00:17:13,380
Por ejemplo, 20 ok número binario y hace cálculo y ok.

269
00:17:13,780 --> 00:17:15,190
No salimos de Bijan.

270
00:17:15,260 --> 00:17:16,540
Proceso finalizado.

271
00:17:16,660 --> 00:17:19,480
éxico cero finaliza el proceso.

272
00:17:20,650 --> 00:17:21,920
Y lo de menos se vuelve a ejecutar.

273
00:17:22,130 --> 00:17:24,300
Eso sería el manejo de error.

274
00:17:24,350 --> 00:17:27,800
También de forma resumida y el flujo de nuestra aplicación.

275
00:17:27,950 --> 00:17:29,480
Cómo puedo manejar estos errores?

276
00:17:29,510 --> 00:17:31,220
Cómo puedo controlar este flujo?

277
00:17:31,340 --> 00:17:37,160
Un ejemplo quizá extenso, más complejo, pero necesario para ir de a poco.

278
00:17:37,250 --> 00:17:43,550
Family pisándonos y profundizando de a poco y viendo estos temas más avanzados, continuamos en la siguiente

279
00:17:43,550 --> 00:17:43,900
clase.
