0 00:00:00,000 --> 00:00:07,000 Vale, voy a grabar, entonces si habláis, dais el consentimiento para ver, para estar grabados, ¿vale? 1 00:00:07,000 --> 00:00:11,000 Hoy vamos a ver manejo de distracciones, ¿vale? 2 00:00:11,000 --> 00:00:17,000 Hasta ahora, de vez en cuando, nuestro programa ha hecho cosas raras, ¿vale? 3 00:00:17,000 --> 00:00:23,000 Normalmente nuestros programas funcionan y llegan hasta el final y hacen lo que tienen que hacer 4 00:00:23,000 --> 00:00:27,000 pero de vez en cuando el programa explota 5 00:00:27,000 --> 00:00:33,000 y de vez en cuando sale una serie de mensajes en rojo en la consola 6 00:00:33,000 --> 00:00:36,000 donde dice que ha habido una excepción, ¿vale? 7 00:00:36,000 --> 00:00:40,000 Típicamente son la NullPointerException que hemos visto nosotros 8 00:00:40,000 --> 00:00:46,000 y otra excepción que hemos visto la ReindexOutOfBoundsException, ¿vale? 9 00:00:46,000 --> 00:00:49,000 Estas son las dos excepciones que grosso modo hemos visto 10 00:00:49,000 --> 00:00:53,000 A lo mejor alguno de vosotros ha tenido la suerte de ver otras excepciones raras 11 00:00:53,000 --> 00:00:58,000 pero hasta ahora no sabíamos bien qué era, ¿vale? 12 00:00:58,000 --> 00:01:03,000 Hoy vamos a entender un poquito mejor qué es una excepción 13 00:01:03,000 --> 00:01:09,000 y después vamos a ver cómo podemos manejar estas excepciones 14 00:01:09,000 --> 00:01:14,000 cómo evitamos que el programa explote cuando explota 15 00:01:14,000 --> 00:01:19,000 y sobre todo cómo podemos hacer nuestros propios mensajes de errores 16 00:01:19,000 --> 00:01:25,000 digamos así, para que nuestro programa en situaciones de dificultad 17 00:01:25,000 --> 00:01:30,000 pueda avisar a quien está llamando nuestros métodos 18 00:01:30,000 --> 00:01:37,000 que algo malo ha pasado y eventualmente recuperarnos de un posible error 19 00:01:37,000 --> 00:01:38,000 ¿Vale? 20 00:01:38,000 --> 00:01:40,000 ¿Qué es una excepción? ¿Vale? 21 00:01:40,000 --> 00:01:43,000 Es un error, es un fallo del programa, ¿vale? 22 00:01:43,000 --> 00:01:50,000 que pero se verifica en tiempo de ejecución 23 00:01:50,000 --> 00:01:51,000 ¿Vale? 24 00:01:51,000 --> 00:01:57,000 Hasta ahora nosotros hemos visto, hemos hablado de programaciones, cosas así 25 00:01:57,000 --> 00:02:05,000 y deberíais haber entendido que hay dos momentos en nuestros ejercicios 26 00:02:05,000 --> 00:02:12,000 un momento es cuando vosotros estáis escribiendo el código allí poniendo sintaxis 27 00:02:12,000 --> 00:02:13,000 y cosas por el estilo 28 00:02:13,000 --> 00:02:17,000 y luego hay otro momento en que pensáis de haber hecho un buen trabajo 29 00:02:17,000 --> 00:02:22,000 y le dais al botón verde para arrancar el programa y lo ejecutáis, ¿vale? 30 00:02:22,000 --> 00:02:28,000 Hay dos grandes tipos de, podríamos decir tres, pongamos dos 31 00:02:28,000 --> 00:02:31,000 grandes tipos de errores, ¿vale? 32 00:02:31,000 --> 00:02:35,000 El primero son los errores a tiempo de compilación, ¿vale? 33 00:02:35,000 --> 00:02:39,000 Estos errores son los que os da Java cuando vosotros intentáis arrancar 34 00:02:39,000 --> 00:02:45,000 y el programa ni arranca y os dice, ay mira, no lo puedo compilar, ¿vale? 35 00:02:45,000 --> 00:02:53,000 Los errores a tiempo de compilación suelen ser principalmente errores sintácticos, ¿vale? 36 00:02:53,000 --> 00:02:58,000 Si vosotros en vez de int x igual a 3, habéis escrito int igual a 3 37 00:02:58,000 --> 00:03:01,000 se os marca y allí hay un error 38 00:03:01,000 --> 00:03:06,000 ese es un error a tiempo de compilación porque si intentáis compilar os sale un error 39 00:03:06,000 --> 00:03:09,000 diciendo, ay mira, no puedo compilar porque aquí hay un error 40 00:03:09,000 --> 00:03:11,000 aquí la sintaxis no es correcta 41 00:03:11,000 --> 00:03:17,000 después de int me espero un nombre, tú no lo has puesto, has puesto un igual 42 00:03:17,000 --> 00:03:18,000 y por lo tanto no funciona 43 00:03:18,000 --> 00:03:26,000 Estos son errores sencillos, digamos así, son errores que hasta la máquina puede entender 44 00:03:27,000 --> 00:03:32,000 y entonces te puede prevenir y decir, ay mira, antes de que tú sigas adelante 45 00:03:32,000 --> 00:03:35,000 que sepas que aquí hay un error, si yo lanzo este programa no puede funcionar 46 00:03:35,000 --> 00:03:38,000 Error a tiempo de compilación, ¿vale? 47 00:03:39,000 --> 00:03:44,000 Cuando vosotros habéis resuelto todos los errores que se pueden encontrar a tiempo de compilación 48 00:03:44,000 --> 00:03:47,000 entonces no tenéis marcado ningún error en vuestro Java, lo podéis arrancar 49 00:03:47,000 --> 00:03:51,000 y eso no garantiza que vuestro programa funcione, ¿vale? 50 00:03:51,000 --> 00:03:56,000 Pueden todavía ocurrir fallos de dos tipos, ¿vale? 51 00:03:56,000 --> 00:04:00,000 Podríamos decir, salgan de muchos, pero pongámoslos en dos tipos 52 00:04:00,000 --> 00:04:02,000 Uno son las excepciones, ¿vale? 53 00:04:02,000 --> 00:04:07,000 Las excepciones son estos errores que no son a tiempo de compilación 54 00:04:07,000 --> 00:04:10,000 son a tiempo de producción, o sea, he lanzado el programa 55 00:04:10,000 --> 00:04:22,000 y llega un momento en que el programa hace alguna operación que no puede hacer 56 00:04:22,000 --> 00:04:27,000 que es un error, que es un fallo, que, por ejemplo, lo que hemos visto 57 00:04:27,000 --> 00:04:33,000 por ejemplo, intento llamar un método, acceder a un valor, a un atributo 58 00:04:33,000 --> 00:04:38,000 de un objeto que no ha sido instanciado y por lo tanto es nul 59 00:04:38,000 --> 00:04:41,000 cuando yo llego allí, tengo esta referencia, esta referencia va a ser nul 60 00:04:41,000 --> 00:04:45,000 e intento acceder a unos trozos de memoria de esta referencia que es nul 61 00:04:45,000 --> 00:04:49,000 no puedo, entonces, ¿es un error sintáctico? 62 00:04:49,000 --> 00:04:54,000 No, porque yo he dicho, y x punto activa método uno, ¿vale? 63 00:04:54,000 --> 00:04:58,000 Eso sintácticamente es perfecto, pero a la hora de ejecución 64 00:04:58,000 --> 00:05:03,000 cuando he llegado a ejecutarlo, no tenía un objeto detrás de esta referencia 65 00:05:03,000 --> 00:05:11,000 y por lo tanto, error, y este error hace saltar una ejecución de tipo nul pointer exception 66 00:05:11,000 --> 00:05:17,000 o yo me pongo a recorrer un array, empiezo a posición cero, posición uno, posición dos 67 00:05:17,000 --> 00:05:20,000 y llega un momento en que llega a la posición treinta seis 68 00:05:20,000 --> 00:05:23,000 pero mi array tenía solo treinta cinco posiciones 69 00:05:23,000 --> 00:05:26,000 y entonces al acceder a una posición que no está en mi array 70 00:05:26,000 --> 00:05:30,000 ¿podía yo al nivel de sintaxis saberlo? 71 00:05:30,000 --> 00:05:32,000 Pues no, ¿vale? 72 00:05:32,000 --> 00:05:36,000 No lo sé cuánto es grande un array a tiempo de compilación 73 00:05:36,000 --> 00:05:38,000 ¿será la ejecución que a lo mejor lo hace más grande o más pequeño? 74 00:05:38,000 --> 00:05:39,000 No lo sé 75 00:05:39,000 --> 00:05:44,000 Pero a tiempo de ejecución, cuando intento acceder a una celda que no está en mi array 76 00:05:44,000 --> 00:05:47,000 entonces a una porción de memoria que no pertenece a mi array 77 00:05:47,000 --> 00:05:52,000 pues ahí explota también y hace otro tipo de excepción, otro tipo de fallo 78 00:05:52,000 --> 00:05:55,000 que es la array index out of bind exception 79 00:05:55,000 --> 00:05:58,000 y así como con muchos, ¿vale? 80 00:05:59,000 --> 00:06:02,000 Para completar, antes de seguir con las excepciones 81 00:06:02,000 --> 00:06:08,000 el tercer tipo de errores que podrías averiguar son los errores difíciles de verdad 82 00:06:08,000 --> 00:06:11,000 que son los errores semánticos 83 00:06:11,000 --> 00:06:15,000 o sea, yo quería hacer, calcular la área del cuadrado 84 00:06:15,000 --> 00:06:19,000 y en vez de lado por lado he puesto lado más lado 85 00:06:19,000 --> 00:06:25,000 eso funciona perfectamente pero no hace lo que tú querías hacer 86 00:06:25,000 --> 00:06:30,000 y eso es lo que vosotros de verdad tenéis que saber manejar 87 00:06:30,000 --> 00:06:31,000 ¿vale? 88 00:06:31,000 --> 00:06:34,000 Es decir, los sintácticos lo hace el eclipse 89 00:06:34,000 --> 00:06:35,000 ¿vale? 90 00:06:35,000 --> 00:06:40,000 Estos errores aquí de funcionamiento a nivel de excepciones 91 00:06:40,000 --> 00:06:43,000 pues se manejarán las excepciones cuando ocurran 92 00:06:43,000 --> 00:06:44,000 yo sabré cuando puede... 93 00:06:44,000 --> 00:06:48,000 sé que cuando accedo a un array y puede haber un array index out of bound 94 00:06:48,000 --> 00:06:50,000 pues tendré que tenerlo en mente 95 00:06:50,000 --> 00:06:57,000 pero el problema es que si mi programa no hace, no resuelve el problema que tenga que resolver 96 00:06:57,000 --> 00:06:59,000 pues allí es el problema serio 97 00:06:59,000 --> 00:07:00,000 ¿vale? 98 00:07:00,000 --> 00:07:04,000 Si yo estoy haciendo un sistema de cuentas bancarias 99 00:07:04,000 --> 00:07:07,000 y pongo errores semánticos de que a cada vez que hago una transferencia 100 00:07:07,000 --> 00:07:11,000 en vez de sumar o restar, dependiendo de si pillo o saco 101 00:07:11,000 --> 00:07:13,000 suma siempre, pues eso es un error 102 00:07:13,000 --> 00:07:14,000 ¿vale? 103 00:07:14,000 --> 00:07:16,000 y eso no hay nadie que me lo diga 104 00:07:16,000 --> 00:07:19,000 no hay ni excepciones, ni mecanismos de Java 105 00:07:19,000 --> 00:07:21,000 eso lo tengo que saber yo 106 00:07:21,000 --> 00:07:22,000 ¿vale? 107 00:07:22,000 --> 00:07:24,000 y saber que el algoritmo está mal hecho 108 00:07:24,000 --> 00:07:25,000 ¿sí? 109 00:07:26,000 --> 00:07:27,000 vale 110 00:07:30,000 --> 00:07:33,000 cuando pasa un error serio 111 00:07:33,000 --> 00:07:36,000 no estamos hablando entonces ni de errores semánticos ni de errores sintácticos 112 00:07:36,000 --> 00:07:40,000 estamos hablando de los errores de fallos a tiempo de ejecución 113 00:07:40,000 --> 00:07:46,000 pues lo más probable es que el programa llegue allí 114 00:07:46,000 --> 00:07:48,000 enfrente a este fallo 115 00:07:48,000 --> 00:07:51,000 y como no sabe qué hacer con este fallo 116 00:07:51,000 --> 00:07:55,000 porque dice accede a la posición 35 de un arreo y de 30 posiciones 117 00:07:55,000 --> 00:07:57,000 ¿y qué hago ahora? 118 00:07:57,000 --> 00:08:01,000 como no puede hacerlo, lo más normal es que el programa se detenga 119 00:08:01,000 --> 00:08:02,000 ¿vale? 120 00:08:02,000 --> 00:08:04,000 lo que hago es bloqueo el programa 121 00:08:04,000 --> 00:08:05,000 aquí se ha acabado 122 00:08:05,000 --> 00:08:07,000 y te doy un mensaje de error 123 00:08:07,000 --> 00:08:09,000 que intenta explicar el fallo 124 00:08:09,000 --> 00:08:10,000 ¿vale? 125 00:08:10,000 --> 00:08:13,000 cuanto mejor está hecha la expresión que salta 126 00:08:13,000 --> 00:08:15,000 más es... 127 00:08:15,000 --> 00:08:18,000 tiene significado el mensaje que me dan 128 00:08:18,000 --> 00:08:20,000 y por lo tanto entiendo 129 00:08:20,000 --> 00:08:21,000 yo podría decir 130 00:08:21,000 --> 00:08:23,000 error, error en el array 131 00:08:24,000 --> 00:08:25,000 tú dices 132 00:08:25,000 --> 00:08:26,000 sí, pero ¿qué error es? 133 00:08:26,000 --> 00:08:28,000 pues a lo mejor he escrito mal 134 00:08:28,000 --> 00:08:31,000 he escrito un string cuando tenía que poner un int 135 00:08:31,000 --> 00:08:32,000 ¿qué error es? 136 00:08:32,000 --> 00:08:33,000 o podría poner 137 00:08:33,000 --> 00:08:40,000 error en acceso a una posición no aceptable del array 138 00:08:40,000 --> 00:08:41,000 tú dices 139 00:08:41,000 --> 00:08:44,000 vale, esto ya es más concreto 140 00:08:44,000 --> 00:08:45,000 pero aún así 141 00:08:45,000 --> 00:08:46,000 ¿qué posición he intentado acceder? 142 00:08:46,000 --> 00:08:47,000 ¿vale? 143 00:08:47,000 --> 00:08:48,000 o te puedo dar un mensaje 144 00:08:48,000 --> 00:08:52,000 error en acceso a la posición 35 del array 145 00:08:52,000 --> 00:08:55,000 entonces ya sabes que has accedido a la posición 35 146 00:08:55,000 --> 00:08:56,000 que es un error 147 00:08:56,000 --> 00:08:59,000 cuanto más el mensaje está definido 148 00:09:00,000 --> 00:09:02,000 mejor para quien tiene que resolver 149 00:09:02,000 --> 00:09:05,000 o intentar resolver ese mensaje 150 00:09:11,000 --> 00:09:12,000 díselo tú 151 00:09:12,000 --> 00:09:13,000 que si no lo grabo 152 00:09:17,000 --> 00:09:18,000 vale 153 00:09:18,000 --> 00:09:21,000 Java nos proporciona un mecanismo 154 00:09:21,000 --> 00:09:23,000 para controlar estas situaciones 155 00:09:23,000 --> 00:09:24,000 ¿vale? 156 00:09:24,000 --> 00:09:26,000 y la idea es que 157 00:09:26,000 --> 00:09:28,000 yo puedo decidir como programador 158 00:09:28,000 --> 00:09:29,000 qué hacer con estas situaciones 159 00:09:29,000 --> 00:09:31,000 ¿explota mi programa? 160 00:09:31,000 --> 00:09:33,000 ¿lo dejo explotar? 161 00:09:33,000 --> 00:09:34,000 es una posibilidad 162 00:09:34,000 --> 00:09:35,000 es una posibilidad 163 00:09:35,000 --> 00:09:36,000 ¿vale? 164 00:09:36,000 --> 00:09:38,000 es una posibilidad de accidente peligrosa 165 00:09:38,000 --> 00:09:40,000 en el sentido que 166 00:09:40,000 --> 00:09:41,000 si lo dejo explotar 167 00:09:41,000 --> 00:09:42,000 y es una cosa que está en producción 168 00:09:42,000 --> 00:09:43,000 y se bloquea 169 00:09:43,000 --> 00:09:45,000 pues alguien tendrá que reiniciarlo 170 00:09:45,000 --> 00:09:46,000 o mirar qué ha pasado 171 00:09:46,000 --> 00:09:47,000 ¿vale? 172 00:09:47,000 --> 00:09:48,000 y entonces podría ser que 173 00:09:48,000 --> 00:09:50,000 si es un programita que estoy haciendo para mí 174 00:09:50,000 --> 00:09:51,000 ¿qué más da? 175 00:09:51,000 --> 00:09:53,000 si es un programa que 176 00:09:53,000 --> 00:09:54,000 hace parte de un sistema 177 00:09:54,000 --> 00:09:56,000 y ahora el sistema no puede utilizar ese servicio 178 00:09:56,000 --> 00:09:57,000 porque se ha bloqueado 179 00:09:57,000 --> 00:09:59,000 pues puede ser un problema más 180 00:09:59,000 --> 00:10:01,000 lo que intentamos hacer 181 00:10:01,000 --> 00:10:03,000 es intentar recuperarse 182 00:10:03,000 --> 00:10:04,000 de un error 183 00:10:04,000 --> 00:10:05,000 o sea yo hacer 184 00:10:05,000 --> 00:10:06,000 a la posición famosa 185 00:10:06,000 --> 00:10:07,000 35 de este array 186 00:10:07,000 --> 00:10:08,000 que no existe 187 00:10:08,000 --> 00:10:09,000 pues intentar 188 00:10:09,000 --> 00:10:10,000 pillar este error 189 00:10:10,000 --> 00:10:11,000 y decir 190 00:10:11,000 --> 00:10:12,000 oye mira no 191 00:10:12,000 --> 00:10:13,000 ha habido un error 192 00:10:13,000 --> 00:10:14,000 has intentado acceder ahí 193 00:10:14,000 --> 00:10:15,000 pues 194 00:10:15,000 --> 00:10:16,000 caos 195 00:10:16,000 --> 00:10:17,000 pero 196 00:10:17,000 --> 00:10:18,000 reempezamos 197 00:10:18,000 --> 00:10:19,000 reinicializamos 198 00:10:19,000 --> 00:10:20,000 volvamos al principio 199 00:10:20,000 --> 00:10:25,000 añadamos objetos a esta posición 36 200 00:10:25,000 --> 00:10:26,000 no lo sé 201 00:10:26,000 --> 00:10:27,000 lo que se puede hacer 202 00:10:27,000 --> 00:10:28,000 para intentar 203 00:10:28,000 --> 00:10:30,000 solucionar ese error 204 00:10:30,000 --> 00:10:31,000 ¿vale? 205 00:10:31,000 --> 00:10:32,000 esta es un poco la idea 206 00:10:32,000 --> 00:10:34,000 que vamos a hacer con 207 00:10:34,000 --> 00:10:38,000 cuando estos tipos de errores 208 00:10:38,000 --> 00:10:40,000 podemos enfrentarnos a ellos 209 00:10:40,000 --> 00:10:42,000 asumiendo que existen 210 00:10:42,000 --> 00:10:43,000 de dos formas 211 00:10:43,000 --> 00:10:44,000 ¿vale? 212 00:10:44,000 --> 00:10:45,000 que impropiamente 213 00:10:45,000 --> 00:10:46,000 llamaremos 214 00:10:46,000 --> 00:10:47,000 pesimista y optimista 215 00:10:47,000 --> 00:10:48,000 ¿vale? 216 00:10:48,000 --> 00:10:50,000 la forma pesimista 217 00:10:50,000 --> 00:10:51,000 de manejar 218 00:10:51,000 --> 00:10:52,000 estos tipos de errores 219 00:10:52,000 --> 00:10:53,000 es pensar 220 00:10:53,000 --> 00:10:54,000 que algo irá mal 221 00:10:54,000 --> 00:10:55,000 ¿vale? 222 00:10:55,000 --> 00:10:56,000 entonces 223 00:10:56,000 --> 00:10:57,000 lo que voy a hacer 224 00:10:57,000 --> 00:10:58,000 es 225 00:10:58,000 --> 00:10:59,000 plagar 226 00:10:59,000 --> 00:11:00,000 mi 227 00:11:00,000 --> 00:11:01,000 código 228 00:11:01,000 --> 00:11:02,000 de IFS 229 00:11:02,000 --> 00:11:04,000 intentando 230 00:11:04,000 --> 00:11:05,000 comprobar 231 00:11:05,000 --> 00:11:06,000 absolutamente 232 00:11:06,000 --> 00:11:07,000 todo 233 00:11:07,000 --> 00:11:08,000 entonces 234 00:11:08,000 --> 00:11:09,000 me pregunto 235 00:11:09,000 --> 00:11:10,000 si el array 236 00:11:10,000 --> 00:11:11,000 es nul 237 00:11:11,000 --> 00:11:12,000 pues entonces 238 00:11:12,000 --> 00:11:13,000 haz esto 239 00:11:13,000 --> 00:11:14,000 si el array 240 00:11:14,000 --> 00:11:15,000 no es nul 241 00:11:15,000 --> 00:11:16,000 pero intentas acceder 242 00:11:16,000 --> 00:11:17,000 a una posición 243 00:11:17,000 --> 00:11:18,000 mayor de su tamaño 244 00:11:18,000 --> 00:11:19,000 entonces 245 00:11:19,000 --> 00:11:20,000 haz esto 246 00:11:20,000 --> 00:11:21,000 voy comprobando 247 00:11:21,000 --> 00:11:22,000 absolutamente 248 00:11:22,000 --> 00:11:23,000 todo 249 00:11:23,000 --> 00:11:24,000 ¿vale? 250 00:11:24,000 --> 00:11:25,000 es pesimista 251 00:11:25,000 --> 00:11:26,000 en el sentido 252 00:11:26,000 --> 00:11:27,000 que tú 253 00:11:27,000 --> 00:11:28,000 estás poniendo 254 00:11:28,000 --> 00:11:29,000 un montón 255 00:11:29,000 --> 00:11:30,000 de código 256 00:11:30,000 --> 00:11:31,000 un montón 257 00:11:31,000 --> 00:11:32,000 de IF 258 00:11:32,000 --> 00:11:33,000 un montón 259 00:11:33,000 --> 00:11:34,000 de condiciones 260 00:11:34,000 --> 00:11:35,000 un montón 261 00:11:35,000 --> 00:11:36,000 de comprobaciones 262 00:11:36,000 --> 00:11:37,000 porque te esperas 263 00:11:37,000 --> 00:11:38,000 que algo mal 264 00:11:38,000 --> 00:11:39,000 irá 265 00:11:39,000 --> 00:11:40,000 ¿vale? 266 00:11:40,000 --> 00:11:41,000 este mecanismo 267 00:11:41,000 --> 00:11:42,000 aquí 268 00:11:42,000 --> 00:11:43,000 tiene un par 269 00:11:43,000 --> 00:11:44,000 de problemas 270 00:11:44,000 --> 00:11:45,000 ¿vale? 271 00:11:45,000 --> 00:11:46,000 el primero 272 00:11:46,000 --> 00:11:47,000 es que el más complejo 273 00:11:47,000 --> 00:11:48,000 sea mi sistema 274 00:11:48,000 --> 00:11:49,000 más difícil 275 00:11:49,000 --> 00:11:50,000 prever 276 00:11:50,000 --> 00:11:51,000 todos los posibles 277 00:11:51,000 --> 00:11:52,000 fallos 278 00:11:52,000 --> 00:11:53,000 que puedan ocurrir 279 00:11:53,000 --> 00:11:54,000 en este sistema 280 00:11:54,000 --> 00:11:55,000 ¿vale? 281 00:11:55,000 --> 00:11:56,000 y que cada vez 282 00:11:56,000 --> 00:11:57,000 que yo acceda a un array 283 00:11:57,000 --> 00:11:58,000 tenga que comprobar 284 00:11:58,000 --> 00:11:59,000 si es nul 285 00:11:59,000 --> 00:12:00,000 si tiene 286 00:12:00,000 --> 00:12:01,000 si me han pedido 287 00:12:01,000 --> 00:12:02,000 menos que cero 288 00:12:02,000 --> 00:12:03,000 si me han pedido 289 00:12:03,000 --> 00:12:04,000 más del máximo 290 00:12:04,000 --> 00:12:05,000 de la longitud 291 00:12:05,000 --> 00:12:06,000 si me han pedido 292 00:12:06,000 --> 00:12:07,000 un ímper 293 00:12:07,000 --> 00:12:08,000 veces un string 294 00:12:08,000 --> 00:12:09,000 si me han pedido 295 00:12:09,000 --> 00:12:10,000 un long 296 00:12:10,000 --> 00:12:11,000 veces un string 297 00:12:11,000 --> 00:12:12,000 pues 298 00:12:12,000 --> 00:12:13,000 se complica 299 00:12:13,000 --> 00:12:14,000 ¿vale? 300 00:12:14,000 --> 00:12:15,000 y que 301 00:12:16,000 --> 00:12:17,000 cuando todo funciona 302 00:12:17,000 --> 00:12:18,000 correctamente 303 00:12:18,000 --> 00:12:19,000 estoy 304 00:12:19,000 --> 00:12:20,000 sobrecargando 305 00:12:20,000 --> 00:12:21,000 mi programa 306 00:12:21,000 --> 00:12:22,000 con un montón 307 00:12:22,000 --> 00:12:23,000 de comprobaciones 308 00:12:23,000 --> 00:12:24,000 que me dirán 309 00:12:24,000 --> 00:12:25,000 no no 310 00:12:25,000 --> 00:12:26,000 tranquilo 311 00:12:26,000 --> 00:12:27,000 está todo bien 312 00:12:27,000 --> 00:12:28,000 pero lo estoy haciendo 313 00:12:28,000 --> 00:12:29,000 constantemente 314 00:12:29,000 --> 00:12:30,000 ¿vale? 315 00:12:30,000 --> 00:12:31,000 si por cada acceso 316 00:12:31,000 --> 00:12:32,000 a mi array 317 00:12:32,000 --> 00:12:33,000 ¿vale? 318 00:12:33,000 --> 00:12:34,000 por cada celda 319 00:12:34,000 --> 00:12:35,000 me tengo que preguntar 320 00:12:35,000 --> 00:12:36,000 si están nules 321 00:12:36,000 --> 00:12:37,000 si están 322 00:12:37,000 --> 00:12:38,000 menos que cero 323 00:12:38,000 --> 00:12:39,000 si están 324 00:12:39,000 --> 00:12:40,000 más de 75 325 00:12:40,000 --> 00:12:41,000 estoy haciendo 326 00:12:41,000 --> 00:12:42,000 tres comprobaciones 327 00:12:42,000 --> 00:12:43,000 por cosas normales 328 00:12:43,000 --> 00:12:44,000 y si estas tres comprobaciones 329 00:12:44,000 --> 00:12:45,000 de un for 330 00:12:45,000 --> 00:12:46,000 desde int i 331 00:12:46,000 --> 00:12:47,000 igual a cero 332 00:12:47,000 --> 00:12:48,000 hasta int menor 333 00:12:48,000 --> 00:12:49,000 de array 334 00:12:49,000 --> 00:12:50,000 punto lento 335 00:12:50,000 --> 00:12:51,000 pues posiblemente 336 00:12:51,000 --> 00:12:52,000 estoy haciendo 337 00:12:52,000 --> 00:12:53,000 un montón 338 00:12:53,000 --> 00:12:54,000 de comprobaciones 339 00:12:54,000 --> 00:12:55,000 inútiles 340 00:12:55,000 --> 00:12:56,000 porque nunca será 341 00:12:56,000 --> 00:12:57,000 menor que cero 342 00:12:57,000 --> 00:12:58,000 o mayor que uno 343 00:12:58,000 --> 00:12:59,000 ¿vale? 344 00:12:59,000 --> 00:13:00,000 entonces 345 00:13:00,000 --> 00:13:01,000 esta es una forma 346 00:13:01,000 --> 00:13:02,000 de manejar 347 00:13:02,000 --> 00:13:03,000 los errores 348 00:13:03,000 --> 00:13:04,000 ¿si? 349 00:13:04,000 --> 00:13:05,000 pero 350 00:13:05,000 --> 00:13:06,000 no necesariamente 351 00:13:06,000 --> 00:13:07,000 es la mejor 352 00:13:07,000 --> 00:13:08,000 se puede hacer 353 00:13:08,000 --> 00:13:09,000 una combinación 354 00:13:09,000 --> 00:13:10,000 o sea que 355 00:13:10,000 --> 00:13:11,000 algunas cosas 356 00:13:11,000 --> 00:13:12,000 si que se pueden 357 00:13:12,000 --> 00:13:13,000 manejar 358 00:13:13,000 --> 00:13:14,000 nosotros muchas veces 359 00:13:14,000 --> 00:13:15,000 hemos dicho 360 00:13:15,000 --> 00:13:16,000 mira cuando entro 361 00:13:16,000 --> 00:13:17,000 en este objeto 362 00:13:17,000 --> 00:13:18,000 a lo mejor 363 00:13:18,000 --> 00:13:19,000 compruebo 364 00:13:19,000 --> 00:13:20,000 que sea nulo 365 00:13:20,000 --> 00:13:21,000 si esta nulo o no 366 00:13:21,000 --> 00:13:22,000 ¿vale? 367 00:13:22,000 --> 00:13:23,000 también porque 368 00:13:23,000 --> 00:13:24,000 no tenemos 369 00:13:24,000 --> 00:13:25,000 nosotros 370 00:13:25,000 --> 00:13:26,000 no tenemos 371 00:13:26,000 --> 00:13:27,000 la posibilidad 372 00:13:27,000 --> 00:13:28,000 de gestionarlo 373 00:13:28,000 --> 00:13:29,000 con excepciones 374 00:13:29,000 --> 00:13:30,000 y por lo tanto 375 00:13:30,000 --> 00:13:31,000 tampoco podemos 376 00:13:31,000 --> 00:13:32,000 hacer mucho 377 00:13:32,000 --> 00:13:33,000 ¿vale? 378 00:13:33,000 --> 00:13:34,000 y si no 379 00:13:34,000 --> 00:13:35,000 esta el enfoque 380 00:13:35,000 --> 00:13:36,000 optimista 381 00:13:36,000 --> 00:13:37,000 el enfoque optimista 382 00:13:37,000 --> 00:13:38,000 dice mira 383 00:13:38,000 --> 00:13:39,000 en un 95% 384 00:13:39,000 --> 00:13:40,000 99% 385 00:13:40,000 --> 00:13:41,000 de las veces 386 00:13:41,000 --> 00:13:42,000 hay un ato 387 00:13:42,000 --> 00:13:43,000 que harán acceso 388 00:13:43,000 --> 00:13:44,000 a una posición 389 00:13:44,000 --> 00:13:45,000 concreta 390 00:13:45,000 --> 00:13:46,000 que existe 391 00:13:46,000 --> 00:13:47,000 harán acceso 392 00:13:47,000 --> 00:13:48,000 a un objeto 393 00:13:48,000 --> 00:13:49,000 que si existe 394 00:13:49,000 --> 00:13:50,000 o sea que 395 00:13:50,000 --> 00:13:51,000 no vale la pena 396 00:13:51,000 --> 00:13:52,000 de ponernos 397 00:13:52,000 --> 00:13:53,000 a hacer 398 00:13:53,000 --> 00:13:54,000 un montón de 399 00:13:54,000 --> 00:13:55,000 y pensar 400 00:13:55,000 --> 00:13:56,000 que algo 401 00:13:56,000 --> 00:13:57,000 irá mal 402 00:13:57,000 --> 00:13:58,000 porque 403 00:13:58,000 --> 00:13:59,000 normalmente 404 00:13:59,000 --> 00:14:00,000 las cosas 405 00:14:00,000 --> 00:14:01,000 van bien 406 00:14:01,000 --> 00:14:02,000 ¿vale? 407 00:14:02,000 --> 00:14:03,000 ¿y que hago? 408 00:14:03,000 --> 00:14:04,000 pues 409 00:14:04,000 --> 00:14:05,000 pongo un 410 00:14:05,000 --> 00:14:06,000 alerta 411 00:14:06,000 --> 00:14:07,000 un alarma 412 00:14:07,000 --> 00:14:08,000 que 413 00:14:08,000 --> 00:14:09,000 la vez 414 00:14:09,000 --> 00:14:10,000 de estas 100 415 00:14:10,000 --> 00:14:11,000 que van mal 416 00:14:11,000 --> 00:14:12,000 ahí constantemente 417 00:14:12,000 --> 00:14:13,000 comprobando 418 00:14:13,000 --> 00:14:14,000 lo que hago es 419 00:14:14,000 --> 00:14:15,000 cuando irá mal 420 00:14:15,000 --> 00:14:16,000 pues 421 00:14:16,000 --> 00:14:17,000 gestionaré yo 422 00:14:17,000 --> 00:14:18,000 el error 423 00:14:18,000 --> 00:14:19,000 ¿vale? 424 00:14:19,000 --> 00:14:20,000 y esto se hace 425 00:14:20,000 --> 00:14:21,000 protegiendo 426 00:14:21,000 --> 00:14:22,000 entre comillas 427 00:14:22,000 --> 00:14:23,000 el código 428 00:14:23,000 --> 00:14:24,000 potencialmente 429 00:14:24,000 --> 00:14:25,000 peligroso 430 00:14:25,000 --> 00:14:26,000 es hablar 431 00:14:26,000 --> 00:14:27,000 del trozo 432 00:14:27,000 --> 00:14:28,000 de código 433 00:14:28,000 --> 00:14:29,000 que podría 434 00:14:29,000 --> 00:14:30,000 dar problemas 435 00:14:30,000 --> 00:14:31,000 utilizando 436 00:14:31,000 --> 00:14:32,000 una estructura 437 00:14:32,000 --> 00:14:33,000 que se llama 438 00:14:33,000 --> 00:14:34,000 try-catch 439 00:14:34,000 --> 00:14:35,000 ¿vale? 440 00:14:35,000 --> 00:14:36,000 try-catch 441 00:14:36,000 --> 00:14:37,000 está por 442 00:14:37,000 --> 00:14:38,000 try 443 00:14:38,000 --> 00:14:39,000 en el sentido 444 00:14:39,000 --> 00:14:40,000 prueba 445 00:14:40,000 --> 00:14:41,000 catch 446 00:14:41,000 --> 00:14:42,000 recoge 447 00:14:42,000 --> 00:14:43,000 pilla 448 00:14:43,000 --> 00:14:44,000 la excepción 449 00:14:44,000 --> 00:14:45,000 que ha explotado 450 00:14:45,000 --> 00:14:46,000 y hace algo 451 00:14:48,000 --> 00:14:49,000 ¿vale? 452 00:14:49,000 --> 00:14:50,000 entonces 453 00:14:51,000 --> 00:14:52,000 a nivel sintáctico 454 00:14:52,000 --> 00:14:53,000 sería una cosa 455 00:14:53,000 --> 00:14:54,000 como un try 456 00:14:55,000 --> 00:14:56,000 luego un bloque 457 00:14:56,000 --> 00:14:57,000 este es el bloque 458 00:14:57,000 --> 00:14:58,000 de código 459 00:14:58,000 --> 00:14:59,000 protegido 460 00:14:59,000 --> 00:15:00,000 el código 461 00:15:00,000 --> 00:15:01,000 que 462 00:15:01,000 --> 00:15:02,000 potencialmente 463 00:15:02,000 --> 00:15:03,000 podría explotar 464 00:15:03,000 --> 00:15:04,000 por ejemplo 465 00:15:04,000 --> 00:15:05,000 un acceso a un array 466 00:15:05,000 --> 00:15:06,000 por ejemplo 467 00:15:06,000 --> 00:15:07,000 un acceso 468 00:15:07,000 --> 00:15:08,000 a un objeto 469 00:15:08,000 --> 00:15:09,000 que podría ser 470 00:15:09,000 --> 00:15:10,000 null 471 00:15:10,000 --> 00:15:11,000 o cosa por el estilo 472 00:15:11,000 --> 00:15:12,000 ¿vale? 473 00:15:12,000 --> 00:15:13,000 y 474 00:15:13,000 --> 00:15:14,000 después 475 00:15:14,000 --> 00:15:15,000 de este bloque 476 00:15:15,000 --> 00:15:16,000 protegido 477 00:15:16,000 --> 00:15:17,000 pongo un catch 478 00:15:17,000 --> 00:15:18,000 y 479 00:15:18,000 --> 00:15:19,000 lo que voy a recoger 480 00:15:19,000 --> 00:15:20,000 por ejemplo 481 00:15:20,000 --> 00:15:21,000 una excepción 482 00:15:21,000 --> 00:15:22,000 de tipo 483 00:15:22,000 --> 00:15:23,000 una cosa 484 00:15:23,000 --> 00:15:24,000 como esta aquí 485 00:15:24,000 --> 00:15:25,000 me dice 486 00:15:25,000 --> 00:15:26,000 que si 487 00:15:26,000 --> 00:15:27,000 mientras estoy 488 00:15:27,000 --> 00:15:28,000 haciendo 489 00:15:28,000 --> 00:15:29,000 el código 490 00:15:29,000 --> 00:15:30,000 protegido 491 00:15:30,000 --> 00:15:31,000 en el try 492 00:15:31,000 --> 00:15:32,000 salta una 493 00:15:32,000 --> 00:15:33,000 cualquier excepción 494 00:15:33,000 --> 00:15:34,000 de cualquier tipo 495 00:15:34,000 --> 00:15:35,000 interrumpe 496 00:15:35,000 --> 00:15:36,000 lo que 497 00:15:36,000 --> 00:15:37,000 estás haciendo 498 00:15:37,000 --> 00:15:38,000 en el try 499 00:15:38,000 --> 00:15:39,000 vas a ejecutar 500 00:15:39,000 --> 00:15:40,000 el bloque 501 00:15:40,000 --> 00:15:41,000 que viene 502 00:15:41,000 --> 00:15:42,000 después del catch 503 00:15:44,000 --> 00:15:45,000 ¿vale? 504 00:15:45,000 --> 00:15:46,000 entonces 505 00:15:46,000 --> 00:15:47,000 si yo ejecutaré 506 00:15:47,000 --> 00:15:48,000 este bloque de aquí 507 00:15:48,000 --> 00:15:49,000 el que está 508 00:15:49,000 --> 00:15:50,000 detrás del catch 509 00:15:50,000 --> 00:15:51,000 si 510 00:15:51,000 --> 00:15:52,000 solo si 511 00:15:52,000 --> 00:15:53,000 durante la ejecución 512 00:15:53,000 --> 00:15:54,000 del try 513 00:15:55,000 --> 00:15:56,000 haya ocurrido 514 00:15:56,000 --> 00:15:57,000 una excepción 515 00:15:57,000 --> 00:15:58,000 cualquiera 516 00:15:58,000 --> 00:15:59,000 si yo aquí dentro 517 00:15:59,000 --> 00:16:00,000 acero a un objeto 518 00:16:00,000 --> 00:16:01,000 que es null 519 00:16:01,000 --> 00:16:02,000 pues 520 00:16:02,000 --> 00:16:03,000 ejecutaré este trozo 521 00:16:03,000 --> 00:16:04,000 de código 522 00:16:04,000 --> 00:16:05,000 si yo aquí dentro 523 00:16:05,000 --> 00:16:06,000 acero a una posición 524 00:16:06,000 --> 00:16:07,000 de un array 525 00:16:07,000 --> 00:16:08,000 una posición 526 00:16:08,000 --> 00:16:09,000 buena 527 00:16:09,000 --> 00:16:10,000 pues ejecutaré 528 00:16:10,000 --> 00:16:11,000 este trozo 529 00:16:11,000 --> 00:16:12,000 de 530 00:16:12,000 --> 00:16:13,000 ¿vale? 531 00:16:13,000 --> 00:16:14,000 ¿y qué hago aquí? 532 00:16:14,000 --> 00:16:15,000 pues aquí voy a hacer 533 00:16:15,000 --> 00:16:16,000 lo que me da 534 00:16:16,000 --> 00:16:17,000 la gang 535 00:16:17,000 --> 00:16:18,000 ¿vale? 536 00:16:18,000 --> 00:16:19,000 por ejemplo 537 00:16:19,000 --> 00:16:20,000 decir 538 00:16:20,000 --> 00:16:21,000 ay mira 539 00:16:21,000 --> 00:16:22,000 si intento deshacer 540 00:16:22,000 --> 00:16:23,000 un objeto 541 00:16:23,000 --> 00:16:24,000 este objeto es null 542 00:16:24,000 --> 00:16:25,000 por lo tanto 543 00:16:25,000 --> 00:16:26,000 salta la excepción 544 00:16:26,000 --> 00:16:27,000 pues 545 00:16:27,000 --> 00:16:28,000 inicializo ese objeto 546 00:16:28,000 --> 00:16:29,000 y lo vuelvo a deshacer 547 00:16:29,000 --> 00:16:30,000 ¿vale? 548 00:16:30,000 --> 00:16:31,000 si todo esto 549 00:16:31,000 --> 00:16:32,000 lo pongo en un while 550 00:16:32,000 --> 00:16:33,000 por ejemplo 551 00:16:33,000 --> 00:16:34,000 y llego aquí 552 00:16:34,000 --> 00:16:35,000 y se entra aquí dentro 553 00:16:35,000 --> 00:16:36,000 y 554 00:16:36,000 --> 00:16:37,000 se entra aquí dentro 555 00:16:37,000 --> 00:16:38,000 y 556 00:16:38,000 --> 00:16:39,000 se ve 557 00:16:39,000 --> 00:16:40,000 que 558 00:16:40,000 --> 00:16:41,000 entonces 559 00:16:41,000 --> 00:16:42,000 ejecutando esto de aquí 560 00:16:42,000 --> 00:16:43,000 podría 561 00:16:43,000 --> 00:16:44,000 setar un booleano 562 00:16:44,000 --> 00:16:45,000 a un cierto valor 563 00:16:45,000 --> 00:16:46,000 para decir 564 00:16:46,000 --> 00:16:47,000 oye mira 565 00:16:47,000 --> 00:16:48,000 que cuando sale de aquí 566 00:16:48,000 --> 00:16:49,000 comprueba este booleano 567 00:16:49,000 --> 00:16:50,000 y si este booleano 568 00:16:50,000 --> 00:16:51,000 es true 569 00:16:51,000 --> 00:16:52,000 sigues adelante 570 00:16:52,000 --> 00:16:53,000 y si este booleano 571 00:16:53,000 --> 00:16:54,000 es false 572 00:16:54,000 --> 00:16:55,000 vuelves a rehacerlo 573 00:16:55,000 --> 00:16:56,000 porque algo ha ido mal 574 00:16:56,000 --> 00:16:57,000 porque este objeto 575 00:16:57,000 --> 00:16:58,000 no ha funcionado 576 00:16:58,000 --> 00:16:59,000 o podría decir 577 00:16:59,000 --> 00:17:00,000 oye mira 578 00:17:00,000 --> 00:17:01,000 no 579 00:17:01,000 --> 00:17:02,000 si llegas aquí 580 00:17:02,000 --> 00:17:03,000 quiere decir 581 00:17:03,000 --> 00:17:04,000 que ha habido un error 582 00:17:04,000 --> 00:17:05,000 a este punto 583 00:17:05,000 --> 00:17:06,000 lo escribo en pantalla 584 00:17:06,000 --> 00:17:07,000 oye mira usuario 585 00:17:07,000 --> 00:17:08,000 ha habido un error 586 00:17:08,000 --> 00:17:09,000 no has dado 587 00:17:09,000 --> 00:17:10,000 los parámetros correctos 588 00:17:10,000 --> 00:17:11,000 el error 589 00:17:11,000 --> 00:17:12,000 el programa 590 00:17:12,000 --> 00:17:13,000 no puede continuar 591 00:17:13,000 --> 00:17:14,000 mira el fichero 592 00:17:14,000 --> 00:17:15,000 no se que 593 00:17:15,000 --> 00:17:16,000 para un log 594 00:17:16,000 --> 00:17:17,000 donde ha escrito 595 00:17:17,000 --> 00:17:18,000 más detalladamente 596 00:17:18,000 --> 00:17:19,000 lo que ha pasado 597 00:17:19,000 --> 00:17:20,000 hasta luego 598 00:17:20,000 --> 00:17:21,000 y mueres 599 00:17:21,000 --> 00:17:22,000 ¿vale? 600 00:17:22,000 --> 00:17:23,000 o 601 00:17:23,000 --> 00:17:24,000 podrías 602 00:17:24,000 --> 00:17:25,000 aquí dentro 603 00:17:25,000 --> 00:17:26,000 decirle 604 00:17:26,000 --> 00:17:27,000 mira usuario 605 00:17:27,000 --> 00:17:28,000 ha pasado un problema 606 00:17:28,000 --> 00:17:29,000 que no puede recuperar 607 00:17:29,000 --> 00:17:30,000 el programa 608 00:17:30,000 --> 00:17:31,000 por lo tanto 609 00:17:31,000 --> 00:17:32,000 lo que hago es 610 00:17:32,000 --> 00:17:33,000 apagar todo 611 00:17:33,000 --> 00:17:34,000 y reiniciar 612 00:17:34,000 --> 00:17:35,000 el programa 613 00:17:35,000 --> 00:17:36,000 desde cero 614 00:17:36,000 --> 00:17:37,000 ¿vale? 615 00:17:37,000 --> 00:17:38,000 y aquí luego harás 616 00:17:38,000 --> 00:17:39,000 todo los 617 00:17:39,000 --> 00:17:40,000 la información 618 00:17:40,000 --> 00:17:41,000 y la cosa 619 00:17:41,000 --> 00:17:42,000 que tienes que hacer 620 00:17:42,000 --> 00:17:43,000 para resetear 621 00:17:43,000 --> 00:17:44,000 todo lo que has hecho 622 00:17:44,000 --> 00:17:45,000 hasta ahora 623 00:17:45,000 --> 00:17:46,000 hasta cero 624 00:17:46,000 --> 00:17:47,000 y volver al principio 625 00:17:47,000 --> 00:17:48,000 depende de ti 626 00:17:48,000 --> 00:17:49,000 ¿vale? 627 00:17:49,000 --> 00:17:50,000 el concepto es que 628 00:17:50,000 --> 00:17:51,000 esto no es una solución 629 00:17:51,000 --> 00:17:52,000 al error 630 00:17:52,000 --> 00:17:53,000 es un mecanismo 631 00:17:53,000 --> 00:17:54,000 que te permite 632 00:17:54,000 --> 00:17:55,000 de manejar el error 633 00:17:55,000 --> 00:17:56,000 dudas 634 00:17:56,000 --> 00:17:57,000 es un 635 00:17:57,000 --> 00:17:58,000 pseudo if 636 00:17:58,000 --> 00:17:59,000 a un nivel 637 00:17:59,000 --> 00:18:00,000 abstracto 638 00:18:00,000 --> 00:18:01,000 que te permite 639 00:18:01,000 --> 00:18:02,000 manejar 640 00:18:02,000 --> 00:18:03,000 el error 641 00:18:03,000 --> 00:18:04,000 es un pseudo if 642 00:18:04,000 --> 00:18:05,000 a un nivel 643 00:18:05,000 --> 00:18:06,000 abstracto 644 00:18:06,000 --> 00:18:07,000 que te dice 645 00:18:07,000 --> 00:18:08,000 si esto no funciona 646 00:18:08,000 --> 00:18:09,000 entonces hace esto 647 00:18:09,000 --> 00:18:10,000 en el caso del try 648 00:18:10,000 --> 00:18:11,000 solo 649 00:18:11,000 --> 00:18:12,000 se activaría 650 00:18:12,000 --> 00:18:13,000 si hay un error fatal 651 00:18:13,000 --> 00:18:14,000 ¿no? 652 00:18:14,000 --> 00:18:15,000 no ocurriría 653 00:18:15,000 --> 00:18:16,000 si yo ejecuto 654 00:18:16,000 --> 00:18:17,000 el try 655 00:18:17,000 --> 00:18:18,000 y no hay ninguna excepción 656 00:18:18,000 --> 00:18:19,000 sigue adelante 657 00:18:19,000 --> 00:18:20,000 se salta la parte 658 00:18:20,000 --> 00:18:21,000 que he hecho 659 00:18:21,000 --> 00:18:22,000 y sigue adelante 660 00:18:22,000 --> 00:18:23,000 sin problema 661 00:18:23,000 --> 00:18:24,000 y veo que 662 00:18:24,000 --> 00:18:25,000 pones 663 00:18:25,000 --> 00:18:26,000 es como que 664 00:18:26,000 --> 00:18:27,000 inicias una variable 665 00:18:27,000 --> 00:18:28,000 excepción 666 00:18:28,000 --> 00:18:29,000 llamada e 667 00:18:29,000 --> 00:18:30,000 sí 668 00:18:30,000 --> 00:18:31,000 aquí dentro 669 00:18:31,000 --> 00:18:32,000 excepción e 670 00:18:32,000 --> 00:18:33,000 la idea 671 00:18:33,000 --> 00:18:34,000 una excepción 672 00:18:34,000 --> 00:18:35,000 la llave virtual machine 673 00:18:35,000 --> 00:18:36,000 empaqueta 674 00:18:36,000 --> 00:18:37,000 un 675 00:18:37,000 --> 00:18:38,000 objeto 676 00:18:38,000 --> 00:18:39,000 de tipo 677 00:18:39,000 --> 00:18:40,000 excepción 678 00:18:40,000 --> 00:18:41,000 ¿vale? 679 00:18:41,000 --> 00:18:42,000 donde dentro 680 00:18:42,000 --> 00:18:43,000 intenta meter 681 00:18:43,000 --> 00:18:44,000 la información 682 00:18:44,000 --> 00:18:45,000 relevante 683 00:18:45,000 --> 00:18:46,000 ahora lo veremos 684 00:18:46,000 --> 00:18:47,000 de esta excepción 685 00:18:47,000 --> 00:18:48,000 por ejemplo 686 00:18:48,000 --> 00:18:49,000 en 687 00:18:49,000 --> 00:18:50,000 que método 688 00:18:50,000 --> 00:18:51,000 se estaba 689 00:18:51,000 --> 00:18:52,000 ejecutando 690 00:18:52,000 --> 00:18:53,000 de los que estaban aquí 691 00:18:53,000 --> 00:18:54,000 que ha causado 692 00:18:54,000 --> 00:18:55,000 esta excepción 693 00:18:55,000 --> 00:18:56,000 ¿vale? 694 00:18:56,000 --> 00:18:57,000 e 695 00:18:57,000 --> 00:18:58,000 que mensaje 696 00:18:58,000 --> 00:18:59,000 está esta excepción 697 00:18:59,000 --> 00:19:00,000 cuando esta excepción 698 00:19:00,000 --> 00:19:01,000 ha explotado 699 00:19:01,000 --> 00:19:02,000 ese mensaje 700 00:19:02,000 --> 00:19:03,000 se ha puesto allí 701 00:19:03,000 --> 00:19:04,000 de error 702 00:19:04,000 --> 00:19:05,000 ¿vale? 703 00:19:05,000 --> 00:19:06,000 si tiene algo 704 00:19:06,000 --> 00:19:07,000 de esta información 705 00:19:07,000 --> 00:19:08,000 yo la puedo encontrar en e 706 00:19:08,000 --> 00:19:09,000 e 707 00:19:09,000 --> 00:19:10,000 es un objeto 708 00:19:10,000 --> 00:19:11,000 de tipo excepción 709 00:19:11,000 --> 00:19:12,000 que podéis ir a mirar 710 00:19:12,000 --> 00:19:13,000 en la API 711 00:19:13,000 --> 00:19:14,000 y ver todos los métodos 712 00:19:14,000 --> 00:19:15,000 que tiene aquí 713 00:19:15,000 --> 00:19:16,000 en particular 714 00:19:16,000 --> 00:19:17,000 ahora lo veremos 715 00:19:17,000 --> 00:19:18,000 algunos 716 00:19:18,000 --> 00:19:19,000 aquí puedes poner 717 00:19:19,000 --> 00:19:20,000 el mensaje de error 718 00:19:20,000 --> 00:19:21,000 e.getMessage 719 00:19:21,000 --> 00:19:22,000 creo que es 720 00:19:22,000 --> 00:19:23,000 una cosa de ese estilo 721 00:19:23,000 --> 00:19:24,000 o 722 00:19:24,000 --> 00:19:25,000 e.getStack 723 00:19:25,000 --> 00:19:26,000 que es 724 00:19:26,000 --> 00:19:27,000 todas las llamadas 725 00:19:27,000 --> 00:19:28,000 de métodos 726 00:19:28,000 --> 00:19:29,000 que se han hecho 727 00:19:29,000 --> 00:19:30,000 hasta llegar 728 00:19:30,000 --> 00:19:31,000 a este error 729 00:19:31,000 --> 00:19:32,000 este método 730 00:19:32,000 --> 00:19:33,000 ha llamado 731 00:19:33,000 --> 00:19:34,000 el método 732 00:19:34,000 --> 00:19:35,000 calcularia 733 00:19:35,000 --> 00:19:36,000 que ha llamado 734 00:19:36,000 --> 00:19:37,000 el método 735 00:19:37,000 --> 00:19:38,000 math.random 736 00:19:38,000 --> 00:19:39,000 que ha llamado 737 00:19:39,000 --> 00:19:40,000 el método 738 00:19:40,000 --> 00:19:41,000 no se que 739 00:19:41,000 --> 00:19:42,000 y aquí es donde ha explotado 740 00:19:42,000 --> 00:19:43,000 ¿vale? 741 00:19:43,000 --> 00:19:44,000 para que tu puedas ver 742 00:19:44,000 --> 00:19:45,000 de tus métodos 743 00:19:45,000 --> 00:19:46,000 cual estaban 744 00:19:46,000 --> 00:19:47,000 en ese momento 745 00:19:47,000 --> 00:19:48,000 llamándose 746 00:19:48,000 --> 00:19:49,000 uno a otro 747 00:19:49,000 --> 00:19:50,000 y saber 748 00:19:50,000 --> 00:19:51,000 que ha pasado 749 00:19:51,000 --> 00:19:52,000 donde está el punto 750 00:19:52,000 --> 00:19:53,000 en el que ha explotado 751 00:19:53,000 --> 00:19:54,000 el programa 752 00:19:54,000 --> 00:19:55,000 porque has hecho 753 00:19:55,000 --> 00:19:56,000 una división 754 00:19:56,000 --> 00:19:57,000 por cero 755 00:19:57,000 --> 00:19:58,000 y entonces 756 00:19:58,000 --> 00:19:59,000 te ha explotado 757 00:19:59,000 --> 00:20:00,000 ¿si? 758 00:20:00,000 --> 00:20:01,000 tened en cuenta 759 00:20:01,000 --> 00:20:02,000 que yo aquí estoy 760 00:20:02,000 --> 00:20:03,000 utilizando exception 761 00:20:03,000 --> 00:20:04,000 esta de aquí 762 00:20:04,000 --> 00:20:05,000 sería una 763 00:20:05,000 --> 00:20:06,000 la excepción 764 00:20:06,000 --> 00:20:07,000 más general 765 00:20:07,000 --> 00:20:08,000 posible 766 00:20:08,000 --> 00:20:09,000 ¿vale? 767 00:20:09,000 --> 00:20:10,000 es la clase 768 00:20:10,000 --> 00:20:11,000 excepción 769 00:20:11,000 --> 00:20:12,000 más alta 770 00:20:12,000 --> 00:20:13,000 y luego 771 00:20:13,000 --> 00:20:14,000 a partir de aquí 772 00:20:14,000 --> 00:20:15,000 heredarán 773 00:20:15,000 --> 00:20:16,000 un montón 774 00:20:16,000 --> 00:20:17,000 de otras 775 00:20:17,000 --> 00:20:18,000 excepciones 776 00:20:18,000 --> 00:20:19,000 como por ejemplo 777 00:20:19,000 --> 00:20:20,000 la reindex 778 00:20:20,000 --> 00:20:21,000 autobound 779 00:20:21,000 --> 00:20:22,000 exception 780 00:20:22,000 --> 00:20:23,000 la null pointer 781 00:20:23,000 --> 00:20:24,000 exception 782 00:20:24,000 --> 00:20:25,000 la number 783 00:20:25,000 --> 00:20:26,000 format 784 00:20:26,000 --> 00:20:27,000 exception 785 00:20:27,000 --> 00:20:28,000 y otras cosas 786 00:20:28,000 --> 00:20:29,000 porque si yo 787 00:20:29,000 --> 00:20:30,000 lo pongo así 788 00:20:30,000 --> 00:20:31,000 como todas 789 00:20:31,000 --> 00:20:32,000 las que he nombrado 790 00:20:32,000 --> 00:20:33,000 ahora 791 00:20:33,000 --> 00:20:34,000 son excepciones 792 00:20:34,000 --> 00:20:35,000 pillaría una 793 00:20:35,000 --> 00:20:36,000 cualquiera de ellas 794 00:20:36,000 --> 00:20:37,000 cualquier excepción 795 00:20:37,000 --> 00:20:38,000 que explote 796 00:20:38,000 --> 00:20:39,000 en el try 797 00:20:39,000 --> 00:20:40,000 me la va a recoger 798 00:20:40,000 --> 00:20:41,000 y ejecutaré esto 799 00:20:41,000 --> 00:20:42,000 independientemente 800 00:20:42,000 --> 00:20:43,000 de si es una 801 00:20:43,000 --> 00:20:44,000 null pointer 802 00:20:44,000 --> 00:20:45,000 exception 803 00:20:45,000 --> 00:20:46,000 una index 804 00:20:46,000 --> 00:20:47,000 autobound 805 00:20:47,000 --> 00:20:48,000 una 806 00:20:48,000 --> 00:20:49,000 bueno 807 00:20:49,000 --> 00:20:50,000 whatever 808 00:20:50,000 --> 00:20:51,000 exception 809 00:20:51,000 --> 00:20:52,000 entonces 810 00:20:52,000 --> 00:20:53,000 la idea es 811 00:20:53,000 --> 00:20:54,000 que nos creemos 812 00:20:54,000 --> 00:20:55,000 nuestras propias 813 00:20:55,000 --> 00:20:56,000 excepciones 814 00:20:56,000 --> 00:20:57,000 y las 815 00:20:58,000 --> 00:20:59,000 sobre esta base 816 00:20:59,000 --> 00:21:00,000 de tener este 817 00:21:00,000 --> 00:21:01,000 mecanismo 818 00:21:01,000 --> 00:21:02,000 ahora veremos 819 00:21:02,000 --> 00:21:03,000 que hay 820 00:21:03,000 --> 00:21:04,000 métodos que tú 821 00:21:04,000 --> 00:21:05,000 puedes utilizar 822 00:21:05,000 --> 00:21:06,000 que lanzan 823 00:21:06,000 --> 00:21:07,000 excepciones 824 00:21:07,000 --> 00:21:08,000 habrá métodos 825 00:21:08,000 --> 00:21:09,000 que pueden lanzar 826 00:21:09,000 --> 00:21:10,000 excepciones 827 00:21:10,000 --> 00:21:11,000 pero no necesariamente 828 00:21:11,000 --> 00:21:12,000 la tienes que controlar 829 00:21:12,000 --> 00:21:13,000 y habrá la posibilidad 830 00:21:13,000 --> 00:21:14,000 de crearte tus 831 00:21:14,000 --> 00:21:15,000 propios mensajes 832 00:21:15,000 --> 00:21:16,000 de errores 833 00:21:16,000 --> 00:21:17,000 y tus propios 834 00:21:17,000 --> 00:21:18,000 excepciones 835 00:21:18,000 --> 00:21:19,000 para que si en un 836 00:21:19,000 --> 00:21:20,000 determinado momento 837 00:21:20,000 --> 00:21:21,000 de tu programa 838 00:21:21,000 --> 00:21:22,000 no puedes seguir 839 00:21:22,000 --> 00:21:23,000 adelante 840 00:21:23,000 --> 00:21:24,000 porque tú has hecho 841 00:21:24,000 --> 00:21:25,000 un programa 842 00:21:25,000 --> 00:21:26,000 que accede a ficheros 843 00:21:26,000 --> 00:21:27,000 la carpeta 844 00:21:27,000 --> 00:21:28,000 donde ir a buscar 845 00:21:28,000 --> 00:21:29,000 estos ficheros 846 00:21:29,000 --> 00:21:30,000 y no puedes seguir 847 00:21:30,000 --> 00:21:31,000 adelante 848 00:21:31,000 --> 00:21:32,000 lanzas una excepción 849 00:21:32,000 --> 00:21:33,000 de 850 00:21:33,000 --> 00:21:34,000 mi excepción 851 00:21:34,000 --> 00:21:35,000 de no tengo 852 00:21:35,000 --> 00:21:36,000 ficheros 853 00:21:36,000 --> 00:21:37,000 . 854 00:21:37,000 --> 00:21:38,000 . 855 00:21:38,000 --> 00:21:39,000 . 856 00:21:39,000 --> 00:21:40,000 . 857 00:21:40,000 --> 00:21:41,000 . 858 00:21:41,000 --> 00:21:42,000 . 859 00:21:42,000 --> 00:21:43,000 . 860 00:21:43,000 --> 00:21:44,000 . 861 00:21:44,000 --> 00:21:45,000 . 862 00:21:45,000 --> 00:21:46,000 . 863 00:21:46,000 --> 00:21:47,000 . 864 00:21:47,000 --> 00:21:48,000 . 865 00:21:48,000 --> 00:21:49,000 . 866 00:21:49,000 --> 00:21:50,000 . 867 00:21:50,000 --> 00:21:51,000 . 868 00:21:51,000 --> 00:21:52,000 . 869 00:21:52,000 --> 00:21:53,000 . 870 00:21:53,000 --> 00:21:54,000 . 871 00:21:55,000 --> 00:21:56,000 . 872 00:21:56,000 --> 00:21:57,000 . 873 00:21:57,000 --> 00:21:58,000 . 874 00:21:58,000 --> 00:21:59,000 . 875 00:21:59,000 --> 00:22:00,000 . 876 00:22:00,000 --> 00:22:01,000 . 877 00:22:01,000 --> 00:22:02,000 . 878 00:22:02,000 --> 00:22:03,000 . 879 00:22:03,000 --> 00:22:04,000 . 880 00:22:04,000 --> 00:22:05,000 . 881 00:22:05,000 --> 00:22:06,000 . 882 00:22:06,000 --> 00:22:07,000 . 883 00:22:07,000 --> 00:22:08,000 . 884 00:22:08,000 --> 00:22:09,000 . 885 00:22:09,000 --> 00:22:10,000 . 886 00:22:10,000 --> 00:22:11,000 . 887 00:22:11,000 --> 00:22:12,000 . 888 00:22:12,000 --> 00:22:13,000 . 889 00:22:13,000 --> 00:22:14,000 . 890 00:22:14,000 --> 00:22:15,000 . 891 00:22:15,000 --> 00:22:16,000 . 892 00:22:16,000 --> 00:22:17,000 . 893 00:22:17,000 --> 00:22:18,000 . 894 00:22:18,000 --> 00:22:19,000 . 895 00:22:19,000 --> 00:22:20,000 . 896 00:22:20,000 --> 00:22:21,000 . 897 00:22:21,000 --> 00:22:22,000 . 898 00:22:22,000 --> 00:22:23,000 . 899 00:22:23,000 --> 00:22:24,000 . 900 00:22:24,000 --> 00:22:25,000 . 901 00:22:25,000 --> 00:22:26,000 . 902 00:22:26,000 --> 00:22:27,000 . 903 00:22:27,000 --> 00:22:28,000 . 904 00:22:28,000 --> 00:22:29,000 . 905 00:22:29,000 --> 00:22:30,000 . 906 00:22:30,000 --> 00:22:31,000 . 907 00:22:31,000 --> 00:22:32,000 . 908 00:22:32,000 --> 00:22:33,000 . 909 00:22:33,000 --> 00:22:34,000 . 910 00:22:34,000 --> 00:22:35,000 . 911 00:22:35,000 --> 00:22:36,000 . 912 00:22:42,000 --> 00:22:43,000 . 913 00:22:43,000 --> 00:22:44,000 . 914 00:22:44,000 --> 00:22:45,000 . 915 00:22:45,000 --> 00:22:46,000 . 916 00:22:46,000 --> 00:22:47,000 . 917 00:22:47,000 --> 00:22:48,000 . 918 00:22:48,000 --> 00:22:49,000 . 919 00:22:49,000 --> 00:22:50,000 . 920 00:22:50,000 --> 00:22:51,000 . 921 00:22:51,000 --> 00:22:52,000 . 922 00:22:52,000 --> 00:22:53,000 . 923 00:22:53,000 --> 00:22:54,000 . 924 00:22:54,000 --> 00:22:55,000 . 925 00:22:55,000 --> 00:22:56,000 . 926 00:22:56,000 --> 00:22:57,000 . 927 00:22:57,000 --> 00:22:58,000 . 928 00:22:58,000 --> 00:22:59,000 . 929 00:22:59,000 --> 00:23:00,000 . 930 00:23:00,000 --> 00:23:01,000 . 931 00:23:01,000 --> 00:23:02,000 . 932 00:23:02,000 --> 00:23:03,000 . 933 00:23:03,000 --> 00:23:04,000 . 934 00:23:04,000 --> 00:23:05,000 . 935 00:23:05,000 --> 00:23:06,000 . 936 00:23:10,000 --> 00:23:11,000 . 937 00:23:11,000 --> 00:23:12,000 . 938 00:23:12,000 --> 00:23:13,000 . 939 00:23:13,000 --> 00:23:14,000 . 940 00:23:14,000 --> 00:23:15,000 . 941 00:23:15,000 --> 00:23:16,000 . 942 00:23:16,000 --> 00:23:17,000 . 943 00:23:17,000 --> 00:23:18,000 . 944 00:23:18,000 --> 00:23:19,000 . 945 00:23:19,000 --> 00:23:20,000 . 946 00:23:20,000 --> 00:23:21,000 . 947 00:23:21,000 --> 00:23:22,000 . 948 00:23:22,000 --> 00:23:23,000 . 949 00:23:23,000 --> 00:23:24,000 . 950 00:23:24,000 --> 00:23:25,000 . 951 00:23:25,000 --> 00:23:26,000 . 952 00:23:26,000 --> 00:23:27,000 . 953 00:23:27,000 --> 00:23:28,000 . 954 00:23:28,000 --> 00:23:29,000 . 955 00:23:29,000 --> 00:23:30,000 . 956 00:23:30,000 --> 00:23:31,000 . 957 00:23:31,000 --> 00:23:33,000 the 958 00:23:33,000 --> 00:23:34,000 the 959 00:23:34,000 --> 00:23:35,000 the 960 00:23:35,000 --> 00:23:36,000 the 961 00:23:36,000 --> 00:23:37,000 . 962 00:23:37,000 --> 00:23:38,000 . 963 00:23:38,000 --> 00:23:39,000 . 964 00:23:39,000 --> 00:23:40,000 . 965 00:23:40,000 --> 00:23:41,000 . 966 00:23:41,000 --> 00:23:42,000 . 967 00:23:42,000 --> 00:23:43,000 . 968 00:23:43,000 --> 00:23:44,000 . 969 00:23:44,000 --> 00:23:45,000 . 970 00:23:45,000 --> 00:23:46,000 . 971 00:23:46,000 --> 00:23:47,000 . 972 00:23:47,000 --> 00:23:48,000 . 973 00:23:48,000 --> 00:23:49,000 . 974 00:23:49,000 --> 00:23:50,000 . 975 00:23:50,000 --> 00:23:52,000 . 976 00:23:52,000 --> 00:23:53,000 . 977 00:23:53,000 --> 00:23:54,000 . 978 00:23:54,000 --> 00:23:55,000 . 979 00:23:55,000 --> 00:23:56,000 . 980 00:23:56,000 --> 00:23:57,000 . 981 00:23:57,000 --> 00:23:58,000 . 982 00:23:58,000 --> 00:23:59,000 . 983 00:23:59,000 --> 00:24:00,000 . 984 00:24:00,000 --> 00:24:01,000 . 985 00:24:01,000 --> 00:24:02,000 . 986 00:24:02,000 --> 00:24:03,000 . 987 00:24:03,000 --> 00:24:04,000 . 988 00:24:04,000 --> 00:24:05,000 , 989 00:24:05,000 --> 00:24:06,000 . 990 00:24:06,000 --> 00:24:07,000 . 991 00:24:07,000 --> 00:24:08,000 . 992 00:24:08,000 --> 00:24:09,000 . 993 00:24:09,000 --> 00:24:10,000 . 994 00:24:10,000 --> 00:24:11,000 . 995 00:24:11,000 --> 00:24:12,000 . 996 00:24:12,000 --> 00:24:13,000 . 997 00:24:13,000 --> 00:24:14,000 . 998 00:24:14,000 --> 00:24:15,000 . 999 00:24:15,000 --> 00:24:16,000 . 1000 00:24:16,000 --> 00:24:17,000 . 1001 00:24:17,000 --> 00:24:18,000 . 1002 00:24:18,000 --> 00:24:19,000 . 1003 00:24:19,000 --> 00:24:25,000 . 1004 00:24:25,000 --> 00:24:26,000 . 1005 00:24:26,000 --> 00:24:27,000 . 1006 00:24:27,000 --> 00:24:28,000 . 1007 00:24:28,000 --> 00:24:29,000 . 1008 00:24:29,000 --> 00:24:30,000 . 1009 00:24:30,000 --> 00:24:31,000 . 1010 00:24:31,000 --> 00:24:32,000 . 1011 00:24:32,000 --> 00:24:33,000 . 1012 00:24:33,000 --> 00:24:34,000 . 1013 00:24:34,000 --> 00:24:35,000 . 1014 00:24:35,000 --> 00:24:36,000 . 1015 00:24:36,000 --> 00:24:37,000 . 1016 00:24:37,000 --> 00:24:38,000 . 1017 00:24:38,000 --> 00:24:39,000 . 1018 00:24:39,000 --> 00:24:40,000 . 1019 00:24:40,000 --> 00:24:41,000 . 1020 00:24:41,000 --> 00:24:42,000 . 1021 00:24:42,000 --> 00:24:43,000 . 1022 00:24:43,000 --> 00:24:44,000 . 1023 00:24:44,000 --> 00:24:45,000 . 1024 00:24:45,000 --> 00:24:46,000 . 1025 00:24:46,000 --> 00:24:47,000 . 1026 00:24:47,000 --> 00:24:48,000 . 1027 00:24:49,000 --> 00:24:50,000 . 1028 00:24:50,000 --> 00:24:51,000 . 1029 00:24:51,000 --> 00:24:52,000 . 1030 00:24:52,000 --> 00:24:53,000 . 1031 00:24:53,000 --> 00:24:54,000 . 1032 00:24:54,000 --> 00:24:55,000 . 1033 00:24:55,000 --> 00:24:56,000 . 1034 00:24:56,000 --> 00:24:57,000 . 1035 00:24:57,000 --> 00:24:58,000 . 1036 00:24:58,000 --> 00:24:59,000 . 1037 00:24:59,000 --> 00:25:00,000 . 1038 00:25:00,000 --> 00:25:01,000 . 1039 00:25:01,000 --> 00:25:02,000 ... 1040 00:25:02,000 --> 00:25:03,000 . 1041 00:25:03,000 --> 00:25:04,000 . 1042 00:25:04,000 --> 00:25:05,000 . 1043 00:25:05,000 --> 00:25:06,000 . 1044 00:25:07,000 --> 00:25:08,000 . 1045 00:25:08,000 --> 00:25:09,000 . 1046 00:25:09,000 --> 00:25:10,000 . 1047 00:25:16,000 --> 00:25:17,000 . 1048 00:25:17,000 --> 00:25:21,000 . 1049 00:25:21,000 --> 00:25:22,000 . 1050 00:25:22,000 --> 00:25:23,000 . 1051 00:25:23,000 --> 00:25:24,000 . 1052 00:25:24,000 --> 00:25:25,000 . 1053 00:25:25,000 --> 00:25:26,000 . 1054 00:25:26,000 --> 00:25:27,000 . 1055 00:25:27,000 --> 00:25:28,000 . 1056 00:25:28,000 --> 00:25:29,000 . 1057 00:25:29,000 --> 00:25:30,000 . 1058 00:25:30,000 --> 00:25:31,000 . 1059 00:25:31,000 --> 00:25:32,000 . 1060 00:25:32,000 --> 00:25:33,000 . 1061 00:25:33,000 --> 00:25:34,000 . 1062 00:25:34,000 --> 00:25:35,000 . 1063 00:25:35,000 --> 00:25:36,000 . 1064 00:25:36,000 --> 00:25:37,000 . 1065 00:25:37,000 --> 00:25:38,000 . 1066 00:25:38,000 --> 00:25:39,000 . 1067 00:25:39,000 --> 00:25:40,000 . 1068 00:25:40,000 --> 00:25:41,000 . 1069 00:25:41,000 --> 00:25:42,000 . 1070 00:25:42,000 --> 00:25:43,000 . 1071 00:25:43,000 --> 00:25:44,000 . 1072 00:25:44,000 --> 00:25:45,000 . 1073 00:25:45,000 --> 00:25:46,000 . 1074 00:25:46,000 --> 00:25:47,000 . 1075 00:25:47,000 --> 00:25:48,000 . 1076 00:25:48,000 --> 00:25:49,000 . 1077 00:25:49,000 --> 00:25:50,000 . 1078 00:25:50,000 --> 00:25:51,000 . 1079 00:25:51,000 --> 00:25:52,000 . 1080 00:25:52,000 --> 00:25:53,000 . 1081 00:25:53,000 --> 00:25:54,000 . 1082 00:25:58,000 --> 00:25:59,000 . 1083 00:26:00,000 --> 00:26:01,000 . 1084 00:26:05,000 --> 00:26:06,000 . 1085 00:26:06,000 --> 00:26:07,000 . 1086 00:26:07,000 --> 00:26:08,000 . 1087 00:26:08,000 --> 00:26:09,000 . 1088 00:26:09,000 --> 00:26:10,000 . 1089 00:26:10,000 --> 00:26:11,000 . 1090 00:26:11,000 --> 00:26:12,000 . 1091 00:26:12,000 --> 00:26:13,000 . 1092 00:26:13,000 --> 00:26:14,000 . 1093 00:26:14,000 --> 00:26:15,000 . 1094 00:26:15,000 --> 00:26:16,000 . 1095 00:26:16,000 --> 00:26:17,000 . 1096 00:26:17,000 --> 00:26:18,000 . 1097 00:26:18,000 --> 00:26:19,000 . 1098 00:26:19,000 --> 00:26:20,000 . 1099 00:26:20,000 --> 00:26:21,000 . 1100 00:26:21,000 --> 00:26:22,000 . 1101 00:26:22,000 --> 00:26:23,000 . 1102 00:26:35,000 --> 00:26:36,000 . 1103 00:26:36,000 --> 00:26:37,000 . 1104 00:26:37,000 --> 00:26:38,000 . 1105 00:26:38,000 --> 00:26:39,000 . 1106 00:26:39,000 --> 00:26:40,000 . 1107 00:26:40,000 --> 00:26:41,000 . 1108 00:26:41,000 --> 00:26:42,000 . 1109 00:26:42,000 --> 00:26:43,000 . 1110 00:26:43,000 --> 00:26:44,000 . 1111 00:26:44,000 --> 00:26:45,000 . 1112 00:26:45,000 --> 00:26:46,000 . 1113 00:26:46,000 --> 00:26:47,000 . 1114 00:26:47,000 --> 00:26:48,000 . 1115 00:26:48,000 --> 00:26:50,000 . 1116 00:26:50,000 --> 00:26:51,000 . 1117 00:26:51,000 --> 00:26:52,000 . 1118 00:26:52,000 --> 00:26:53,000 . 1119 00:26:53,000 --> 00:26:54,000 . 1120 00:26:54,000 --> 00:26:55,000 . 1121 00:26:55,000 --> 00:26:56,000 . 1122 00:26:56,000 --> 00:26:57,000 . 1123 00:26:57,000 --> 00:26:58,000 . 1124 00:26:58,000 --> 00:26:59,000 . 1125 00:26:59,000 --> 00:27:00,000 . 1126 00:27:00,000 --> 00:27:01,000 . 1127 00:27:01,000 --> 00:27:02,000 . 1128 00:27:02,000 --> 00:27:03,000 . 1129 00:27:03,000 --> 00:27:04,000 . 1130 00:27:04,000 --> 00:27:05,000 . 1131 00:27:05,000 --> 00:27:06,000 . 1132 00:27:06,000 --> 00:27:07,000 . 1133 00:27:07,000 --> 00:27:08,000 . 1134 00:27:08,000 --> 00:27:09,000 . 1135 00:27:10,000 --> 00:27:11,000 . 1136 00:27:11,000 --> 00:27:12,000 . 1137 00:27:12,000 --> 00:27:13,000 . 1138 00:27:13,000 --> 00:27:14,000 . 1139 00:27:14,000 --> 00:27:15,000 . 1140 00:27:15,000 --> 00:27:16,000 . 1141 00:27:16,000 --> 00:27:17,000 . 1142 00:27:17,000 --> 00:27:18,000 . 1143 00:27:18,000 --> 00:27:19,000 . 1144 00:27:19,000 --> 00:27:20,000 . 1145 00:27:20,000 --> 00:27:21,000 . 1146 00:27:21,000 --> 00:27:22,000 . 1147 00:27:22,000 --> 00:27:23,000 . 1148 00:27:23,000 --> 00:27:24,000 . 1149 00:27:24,000 --> 00:27:25,000 . 1150 00:27:25,000 --> 00:27:26,000 . 1151 00:27:26,000 --> 00:27:27,000 . 1152 00:27:27,000 --> 00:27:28,000 . 1153 00:27:28,000 --> 00:27:29,000 . 1154 00:27:29,000 --> 00:27:30,000 . 1155 00:27:30,000 --> 00:27:31,000 . 1156 00:27:31,000 --> 00:27:32,000 . 1157 00:27:32,000 --> 00:27:33,000 . 1158 00:27:33,000 --> 00:27:34,000 . 1159 00:27:34,000 --> 00:27:35,000 . 1160 00:27:35,000 --> 00:27:36,000 . 1161 00:27:36,000 --> 00:27:37,000 . 1162 00:27:37,000 --> 00:27:38,000 . 1163 00:27:44,000 --> 00:27:45,000 . 1164 00:27:45,000 --> 00:27:46,000 . 1165 00:27:46,000 --> 00:27:47,000 . 1166 00:27:47,000 --> 00:27:48,000 . 1167 00:27:48,000 --> 00:27:49,000 . 1168 00:27:49,000 --> 00:27:50,000 . 1169 00:27:50,000 --> 00:27:51,000 . 1170 00:27:51,000 --> 00:27:52,000 . 1171 00:27:52,000 --> 00:27:53,000 . 1172 00:27:53,000 --> 00:27:54,000 . 1173 00:27:54,000 --> 00:28:00,000 . 1174 00:28:00,000 --> 00:28:01,000 . 1175 00:28:01,000 --> 00:28:02,000 . 1176 00:28:02,000 --> 00:28:05,000 . 1177 00:28:05,000 --> 00:28:06,000 . 1178 00:28:06,000 --> 00:28:07,000 . 1179 00:28:07,000 --> 00:28:08,000 . 1180 00:28:08,000 --> 00:28:09,000 . 1181 00:28:09,000 --> 00:28:10,000 . 1182 00:28:10,000 --> 00:28:11,000 . 1183 00:28:11,000 --> 00:28:12,000 . 1184 00:28:12,000 --> 00:28:13,000 . 1185 00:28:13,000 --> 00:28:14,000 . 1186 00:28:14,000 --> 00:28:15,000 . 1187 00:28:27,000 --> 00:28:28,000 . 1188 00:28:28,000 --> 00:28:29,000 . 1189 00:28:29,000 --> 00:28:30,000 . 1190 00:28:30,000 --> 00:28:31,000 . 1191 00:28:31,000 --> 00:28:32,000 . 1192 00:28:32,000 --> 00:28:33,000 . 1193 00:28:33,000 --> 00:28:34,000 . 1194 00:28:34,000 --> 00:28:35,000 . 1195 00:28:35,000 --> 00:28:36,000 . 1196 00:28:36,000 --> 00:28:37,000 . 1197 00:28:37,000 --> 00:28:38,000 . 1198 00:28:38,000 --> 00:28:39,000 . 1199 00:28:39,000 --> 00:28:40,000 . 1200 00:28:40,000 --> 00:28:41,000 . 1201 00:28:41,000 --> 00:28:42,000 . 1202 00:28:42,000 --> 00:28:43,000 . 1203 00:28:43,000 --> 00:28:46,000 . 1204 00:28:46,000 --> 00:28:47,000 . 1205 00:28:47,000 --> 00:28:48,000 . 1206 00:28:48,000 --> 00:28:49,000 . 1207 00:28:49,000 --> 00:28:50,000 . 1208 00:28:50,000 --> 00:28:51,000 . 1209 00:28:51,000 --> 00:28:53,000 . 1210 00:29:10,000 --> 00:29:11,000 . 1211 00:29:11,000 --> 00:29:16,000 . 1212 00:29:17,000 --> 00:29:18,000 . 1213 00:29:18,000 --> 00:29:21,000 . 1214 00:29:30,000 --> 00:29:31,000 . 1215 00:29:34,000 --> 00:29:35,000 . 1216 00:29:35,000 --> 00:29:36,000 . 1217 00:29:39,000 --> 00:29:40,000 . 1218 00:29:41,000 --> 00:29:42,000 . 1219 00:29:44,000 --> 00:29:45,000 . 1220 00:29:45,000 --> 00:29:46,000 . 1221 00:29:47,000 --> 00:29:48,000 , 1222 00:29:54,000 --> 00:29:55,000 . 1223 00:29:59,000 --> 00:30:00,000 . 1224 00:30:03,000 --> 00:30:04,000 . 1225 00:30:05,000 --> 00:30:06,000 . 1226 00:30:09,000 --> 00:30:10,000 . 1227 00:30:13,000 --> 00:30:14,000 . 1228 00:30:15,000 --> 00:30:16,000 . 1229 00:30:17,000 --> 00:30:18,000 . 1230 00:30:19,000 --> 00:30:20,000 . 1231 00:30:21,000 --> 00:30:22,000 . 1232 00:30:25,000 --> 00:30:26,000 . 1233 00:30:27,000 --> 00:30:28,000 . 1234 00:30:30,000 --> 00:30:31,000 . 1235 00:30:32,000 --> 00:30:33,000 . 1236 00:30:35,000 --> 00:30:36,000 . 1237 00:30:37,000 --> 00:30:38,000 . 1238 00:30:39,000 --> 00:30:40,000 . 1239 00:30:41,000 --> 00:30:42,000 . 1240 00:30:43,000 --> 00:30:44,000 . 1241 00:30:45,000 --> 00:30:46,000 . 1242 00:30:47,000 --> 00:30:48,000 . 1243 00:30:49,000 --> 00:30:50,000 . 1244 00:30:51,000 --> 00:30:52,000 . 1245 00:30:53,000 --> 00:30:54,000 . 1246 00:30:55,000 --> 00:30:56,000 . 1247 00:30:57,000 --> 00:30:58,000 . 1248 00:30:59,000 --> 00:31:00,000 . 1249 00:31:01,000 --> 00:31:02,000 . 1250 00:31:02,000 --> 00:31:03,000 . 1251 00:31:04,000 --> 00:31:05,000 . 1252 00:31:06,000 --> 00:31:07,000 . 1253 00:31:08,000 --> 00:31:09,000 . 1254 00:31:10,000 --> 00:31:11,000 . 1255 00:31:12,000 --> 00:31:13,000 . 1256 00:31:14,000 --> 00:31:15,000 . 1257 00:31:16,000 --> 00:31:17,000 . 1258 00:31:18,000 --> 00:31:19,000 . 1259 00:31:20,000 --> 00:31:21,000 . 1260 00:31:22,000 --> 00:31:23,000 . 1261 00:31:24,000 --> 00:31:25,000 . 1262 00:31:26,000 --> 00:31:27,000 . 1263 00:31:28,000 --> 00:31:29,000 . 1264 00:31:29,000 --> 00:31:30,000 . 1265 00:31:31,000 --> 00:31:32,000 . 1266 00:31:33,000 --> 00:31:34,000 . 1267 00:31:35,000 --> 00:31:36,000 . 1268 00:31:37,000 --> 00:31:38,000 . 1269 00:31:39,000 --> 00:31:40,000 . 1270 00:31:41,000 --> 00:31:42,000 . 1271 00:31:43,000 --> 00:31:44,000 . 1272 00:31:45,000 --> 00:31:46,000 . 1273 00:31:47,000 --> 00:31:48,000 . 1274 00:31:49,000 --> 00:31:50,000 . 1275 00:31:51,000 --> 00:31:52,000 . 1276 00:31:53,000 --> 00:31:54,000 . 1277 00:31:55,000 --> 00:31:56,000 . 1278 00:31:56,000 --> 00:31:57,000 . 1279 00:31:58,000 --> 00:31:59,000 . 1280 00:32:00,000 --> 00:32:01,000 . 1281 00:32:02,000 --> 00:32:03,000 . 1282 00:32:04,000 --> 00:32:05,000 . 1283 00:32:06,000 --> 00:32:07,000 . 1284 00:32:08,000 --> 00:32:09,000 . 1285 00:32:10,000 --> 00:32:11,000 . 1286 00:32:12,000 --> 00:32:13,000 . 1287 00:32:14,000 --> 00:32:15,000 . 1288 00:32:16,000 --> 00:32:17,000 . 1289 00:32:18,000 --> 00:32:19,000 . 1290 00:32:20,000 --> 00:32:21,000 . 1291 00:32:22,000 --> 00:32:23,000 . 1292 00:32:23,000 --> 00:32:24,000 . 1293 00:32:25,000 --> 00:32:26,000 . 1294 00:32:28,000 --> 00:32:29,000 . 1295 00:32:30,000 --> 00:32:31,000 . 1296 00:32:32,000 --> 00:32:33,000 . 1297 00:32:34,000 --> 00:32:35,000 . 1298 00:32:36,000 --> 00:32:37,000 . 1299 00:32:38,000 --> 00:32:39,000 . 1300 00:32:40,000 --> 00:32:41,000 . 1301 00:32:42,000 --> 00:32:43,000 . 1302 00:32:44,000 --> 00:32:45,000 . 1303 00:32:46,000 --> 00:32:47,000 . 1304 00:32:48,000 --> 00:32:49,000 . 1305 00:32:50,000 --> 00:32:51,000 . 1306 00:32:51,000 --> 00:32:52,000 . 1307 00:32:53,000 --> 00:32:54,000 . 1308 00:32:55,000 --> 00:32:56,000 . 1309 00:32:57,000 --> 00:32:58,000 . 1310 00:32:59,000 --> 00:33:00,000 . 1311 00:33:01,000 --> 00:33:02,000 . 1312 00:33:03,000 --> 00:33:04,000 . 1313 00:33:05,000 --> 00:33:06,000 . 1314 00:33:07,000 --> 00:33:08,000 . 1315 00:33:09,000 --> 00:33:10,000 . 1316 00:33:11,000 --> 00:33:12,000 . 1317 00:33:13,000 --> 00:33:14,000 . 1318 00:33:15,000 --> 00:33:16,000 . 1319 00:33:17,000 --> 00:33:18,000 . 1320 00:33:18,000 --> 00:33:19,000 . 1321 00:33:20,000 --> 00:33:21,000 . 1322 00:33:22,000 --> 00:33:23,000 . 1323 00:33:24,000 --> 00:33:25,000 . 1324 00:33:26,000 --> 00:33:27,000 . 1325 00:33:28,000 --> 00:33:29,000 . 1326 00:33:30,000 --> 00:33:31,000 . 1327 00:33:32,000 --> 00:33:33,000 . 1328 00:33:34,000 --> 00:33:35,000 . 1329 00:33:36,000 --> 00:33:37,000 . 1330 00:33:38,000 --> 00:33:39,000 . 1331 00:33:40,000 --> 00:33:41,000 . 1332 00:33:42,000 --> 00:33:43,000 . 1333 00:33:44,000 --> 00:33:45,000 . 1334 00:33:45,000 --> 00:33:46,000 . 1335 00:33:47,000 --> 00:33:48,000 . 1336 00:33:49,000 --> 00:33:50,000 . 1337 00:33:51,000 --> 00:33:52,000 . 1338 00:33:53,000 --> 00:33:54,000 . 1339 00:33:55,000 --> 00:33:56,000 . 1340 00:33:57,000 --> 00:33:58,000 . 1341 00:33:59,000 --> 00:34:00,000 . 1342 00:34:01,000 --> 00:34:02,000 . 1343 00:34:03,000 --> 00:34:04,000 . 1344 00:34:05,000 --> 00:34:06,000 . 1345 00:34:07,000 --> 00:34:08,000 . 1346 00:34:09,000 --> 00:34:10,000 . 1347 00:34:11,000 --> 00:34:12,000 . 1348 00:34:12,000 --> 00:34:13,000 . 1349 00:34:14,000 --> 00:34:15,000 . 1350 00:34:16,000 --> 00:34:17,000 . 1351 00:34:18,000 --> 00:34:19,000 . 1352 00:34:20,000 --> 00:34:21,000 . 1353 00:34:22,000 --> 00:34:23,000 . 1354 00:34:24,000 --> 00:34:25,000 . 1355 00:34:26,000 --> 00:34:27,000 . 1356 00:34:28,000 --> 00:34:29,000 . 1357 00:34:30,000 --> 00:34:31,000 . 1358 00:34:32,000 --> 00:34:33,000 . 1359 00:34:34,000 --> 00:34:35,000 . 1360 00:34:36,000 --> 00:34:37,000 . 1361 00:34:38,000 --> 00:34:39,000 . 1362 00:34:39,000 --> 00:34:40,000 . 1363 00:34:41,000 --> 00:34:42,000 . 1364 00:34:43,000 --> 00:34:44,000 . 1365 00:34:45,000 --> 00:34:46,000 . 1366 00:34:47,000 --> 00:34:48,000 . 1367 00:34:49,000 --> 00:34:50,000 . 1368 00:34:51,000 --> 00:34:52,000 . 1369 00:34:53,000 --> 00:34:54,000 . 1370 00:34:55,000 --> 00:34:56,000 . 1371 00:34:57,000 --> 00:34:58,000 . 1372 00:34:59,000 --> 00:35:00,000 . 1373 00:35:01,000 --> 00:35:02,000 . 1374 00:35:03,000 --> 00:35:04,000 . 1375 00:35:05,000 --> 00:35:06,000 . 1376 00:35:06,000 --> 00:35:07,000 . 1377 00:35:08,000 --> 00:35:09,000 . 1378 00:35:10,000 --> 00:35:11,000 . 1379 00:35:12,000 --> 00:35:13,000 . 1380 00:35:14,000 --> 00:35:15,000 . 1381 00:35:16,000 --> 00:35:17,000 . 1382 00:35:18,000 --> 00:35:19,000 . 1383 00:35:20,000 --> 00:35:21,000 . 1384 00:35:22,000 --> 00:35:23,000 . 1385 00:35:24,000 --> 00:35:25,000 . 1386 00:35:26,000 --> 00:35:27,000 . 1387 00:35:28,000 --> 00:35:29,000 . 1388 00:35:30,000 --> 00:35:31,000 . 1389 00:35:32,000 --> 00:35:33,000 . 1390 00:35:33,000 --> 00:35:34,000 . 1391 00:35:35,000 --> 00:35:36,000 . 1392 00:35:37,000 --> 00:35:38,000 . 1393 00:35:39,000 --> 00:35:40,000 . 1394 00:35:41,000 --> 00:35:42,000 . 1395 00:35:43,000 --> 00:35:44,000 . 1396 00:35:45,000 --> 00:35:46,000 . 1397 00:35:47,000 --> 00:35:48,000 . 1398 00:35:49,000 --> 00:35:50,000 . 1399 00:35:51,000 --> 00:35:52,000 . 1400 00:35:53,000 --> 00:35:54,000 . 1401 00:35:55,000 --> 00:35:56,000 . 1402 00:35:57,000 --> 00:35:58,000 . 1403 00:35:59,000 --> 00:36:00,000 . 1404 00:36:00,000 --> 00:36:01,000 . 1405 00:36:02,000 --> 00:36:03,000 . 1406 00:36:05,000 --> 00:36:06,000 . 1407 00:36:07,000 --> 00:36:08,000 . 1408 00:36:09,000 --> 00:36:10,000 . 1409 00:36:11,000 --> 00:36:12,000 . 1410 00:36:13,000 --> 00:36:14,000 . 1411 00:36:15,000 --> 00:36:16,000 . 1412 00:36:17,000 --> 00:36:18,000 . 1413 00:36:19,000 --> 00:36:20,000 . 1414 00:36:21,000 --> 00:36:22,000 . 1415 00:36:23,000 --> 00:36:24,000 . 1416 00:36:25,000 --> 00:36:26,000 . 1417 00:36:27,000 --> 00:36:28,000 . 1418 00:36:28,000 --> 00:36:29,000 . 1419 00:36:30,000 --> 00:36:31,000 . 1420 00:36:32,000 --> 00:36:33,000 . 1421 00:36:34,000 --> 00:36:35,000 . 1422 00:36:36,000 --> 00:36:37,000 . 1423 00:36:38,000 --> 00:36:39,000 . 1424 00:36:40,000 --> 00:36:41,000 . 1425 00:36:42,000 --> 00:36:43,000 . 1426 00:36:44,000 --> 00:36:45,000 . 1427 00:36:46,000 --> 00:36:47,000 . 1428 00:36:48,000 --> 00:36:49,000 . 1429 00:36:50,000 --> 00:36:51,000 . 1430 00:36:52,000 --> 00:36:53,000 . 1431 00:36:54,000 --> 00:36:55,000 . 1432 00:36:55,000 --> 00:36:56,000 . 1433 00:36:57,000 --> 00:36:58,000 . 1434 00:36:59,000 --> 00:37:00,000 . 1435 00:37:01,000 --> 00:37:02,000 . 1436 00:37:03,000 --> 00:37:04,000 . 1437 00:37:05,000 --> 00:37:06,000 . 1438 00:37:07,000 --> 00:37:08,000 . 1439 00:37:09,000 --> 00:37:10,000 . 1440 00:37:11,000 --> 00:37:12,000 . 1441 00:37:13,000 --> 00:37:14,000 . 1442 00:37:15,000 --> 00:37:16,000 . 1443 00:37:17,000 --> 00:37:18,000 . 1444 00:37:19,000 --> 00:37:20,000 . 1445 00:37:21,000 --> 00:37:22,000 . 1446 00:37:22,000 --> 00:37:23,000 . 1447 00:37:24,000 --> 00:37:25,000 . 1448 00:37:26,000 --> 00:37:27,000 . 1449 00:37:28,000 --> 00:37:29,000 . 1450 00:37:30,000 --> 00:37:31,000 . 1451 00:37:32,000 --> 00:37:33,000 . 1452 00:37:34,000 --> 00:37:35,000 . 1453 00:37:36,000 --> 00:37:37,000 . 1454 00:37:38,000 --> 00:37:39,000 . 1455 00:37:40,000 --> 00:37:41,000 . 1456 00:37:42,000 --> 00:37:43,000 . 1457 00:37:44,000 --> 00:37:45,000 . 1458 00:37:46,000 --> 00:37:47,000 . 1459 00:37:48,000 --> 00:37:49,000 . 1460 00:37:49,000 --> 00:37:50,000 . 1461 00:37:51,000 --> 00:37:52,000 . 1462 00:37:53,000 --> 00:37:54,000 . 1463 00:37:55,000 --> 00:37:56,000 . 1464 00:37:57,000 --> 00:37:58,000 . 1465 00:37:59,000 --> 00:38:00,000 . 1466 00:38:01,000 --> 00:38:02,000 . 1467 00:38:03,000 --> 00:38:04,000 . 1468 00:38:05,000 --> 00:38:06,000 . 1469 00:38:07,000 --> 00:38:08,000 . 1470 00:38:09,000 --> 00:38:10,000 . 1471 00:38:11,000 --> 00:38:12,000 . 1472 00:38:13,000 --> 00:38:14,000 . 1473 00:38:15,000 --> 00:38:16,000 . 1474 00:38:16,000 --> 00:38:17,000 . 1475 00:38:18,000 --> 00:38:19,000 . 1476 00:38:20,000 --> 00:38:21,000 . 1477 00:38:22,000 --> 00:38:23,000 . 1478 00:38:24,000 --> 00:38:25,000 . 1479 00:38:26,000 --> 00:38:27,000 . 1480 00:38:28,000 --> 00:38:29,000 . 1481 00:38:30,000 --> 00:38:31,000 . 1482 00:38:32,000 --> 00:38:33,000 . 1483 00:38:34,000 --> 00:38:35,000 . 1484 00:38:36,000 --> 00:38:37,000 . 1485 00:38:38,000 --> 00:38:39,000 . 1486 00:38:40,000 --> 00:38:41,000 . 1487 00:38:42,000 --> 00:38:43,000 . 1488 00:38:43,000 --> 00:38:44,000 . 1489 00:38:45,000 --> 00:38:46,000 . 1490 00:38:47,000 --> 00:38:48,000 . 1491 00:38:49,000 --> 00:38:50,000 . 1492 00:38:51,000 --> 00:38:52,000 . 1493 00:38:53,000 --> 00:38:54,000 . 1494 00:38:55,000 --> 00:38:56,000 . 1495 00:38:57,000 --> 00:38:58,000 . 1496 00:38:59,000 --> 00:39:00,000 . 1497 00:39:01,000 --> 00:39:02,000 . 1498 00:39:03,000 --> 00:39:04,000 . 1499 00:39:05,000 --> 00:39:06,000 . 1500 00:39:07,000 --> 00:39:08,000 . 1501 00:39:09,000 --> 00:39:10,000 . 1502 00:39:10,000 --> 00:39:11,000 . 1503 00:39:12,000 --> 00:39:13,000 . 1504 00:39:14,000 --> 00:39:15,000 . 1505 00:39:16,000 --> 00:39:17,000 . 1506 00:39:18,000 --> 00:39:19,000 . 1507 00:39:20,000 --> 00:39:21,000 . 1508 00:39:22,000 --> 00:39:23,000 . 1509 00:39:24,000 --> 00:39:25,000 . 1510 00:39:26,000 --> 00:39:27,000 . 1511 00:39:28,000 --> 00:39:29,000 . 1512 00:39:30,000 --> 00:39:31,000 . 1513 00:39:32,000 --> 00:39:33,000 . 1514 00:39:34,000 --> 00:39:35,000 . 1515 00:39:36,000 --> 00:39:37,000 . 1516 00:39:37,000 --> 00:39:38,000 . 1517 00:39:39,000 --> 00:39:40,000 . 1518 00:39:41,000 --> 00:39:42,000 . 1519 00:39:43,000 --> 00:39:44,000 . 1520 00:39:45,000 --> 00:39:46,000 . 1521 00:39:47,000 --> 00:39:48,000 . 1522 00:39:49,000 --> 00:39:50,000 . 1523 00:39:51,000 --> 00:39:52,000 . 1524 00:39:53,000 --> 00:39:54,000 . 1525 00:39:55,000 --> 00:39:56,000 . 1526 00:39:57,000 --> 00:39:58,000 . 1527 00:39:59,000 --> 00:40:00,000 . 1528 00:40:01,000 --> 00:40:02,000 . 1529 00:40:03,000 --> 00:40:04,000 . 1530 00:40:04,000 --> 00:40:05,000 . 1531 00:40:06,000 --> 00:40:07,000 . 1532 00:40:08,000 --> 00:40:09,000 . 1533 00:40:10,000 --> 00:40:11,000 . 1534 00:40:12,000 --> 00:40:13,000 . 1535 00:40:14,000 --> 00:40:15,000 . 1536 00:40:16,000 --> 00:40:17,000 . 1537 00:40:18,000 --> 00:40:19,000 . 1538 00:40:20,000 --> 00:40:21,000 . 1539 00:40:22,000 --> 00:40:23,000 . 1540 00:40:24,000 --> 00:40:25,000 . 1541 00:40:26,000 --> 00:40:27,000 . 1542 00:40:28,000 --> 00:40:29,000 . 1543 00:40:30,000 --> 00:40:31,000 . 1544 00:40:31,000 --> 00:40:32,000 . 1545 00:40:33,000 --> 00:40:34,000 . 1546 00:40:35,000 --> 00:40:36,000 . 1547 00:40:37,000 --> 00:40:38,000 . 1548 00:40:39,000 --> 00:40:40,000 . 1549 00:40:41,000 --> 00:40:42,000 . 1550 00:40:43,000 --> 00:40:44,000 . 1551 00:40:45,000 --> 00:40:46,000 . 1552 00:40:47,000 --> 00:40:48,000 . 1553 00:40:49,000 --> 00:40:50,000 . 1554 00:40:51,000 --> 00:40:52,000 . 1555 00:40:53,000 --> 00:40:54,000 . 1556 00:40:55,000 --> 00:40:56,000 . 1557 00:40:57,000 --> 00:40:58,000 . 1558 00:40:58,000 --> 00:40:59,000 . 1559 00:41:00,000 --> 00:41:01,000 . 1560 00:41:03,000 --> 00:41:04,000 . 1561 00:41:05,000 --> 00:41:06,000 . 1562 00:41:07,000 --> 00:41:08,000 . 1563 00:41:09,000 --> 00:41:10,000 . 1564 00:41:11,000 --> 00:41:12,000 . 1565 00:41:13,000 --> 00:41:14,000 . 1566 00:41:15,000 --> 00:41:16,000 . 1567 00:41:17,000 --> 00:41:18,000 . 1568 00:41:19,000 --> 00:41:20,000 . 1569 00:41:21,000 --> 00:41:22,000 . 1570 00:41:23,000 --> 00:41:24,000 . 1571 00:41:25,000 --> 00:41:26,000 . 1572 00:41:26,000 --> 00:41:27,000 . 1573 00:41:28,000 --> 00:41:29,000 . 1574 00:41:30,000 --> 00:41:31,000 . 1575 00:41:32,000 --> 00:41:33,000 . 1576 00:41:34,000 --> 00:41:35,000 . 1577 00:41:36,000 --> 00:41:37,000 . 1578 00:41:38,000 --> 00:41:39,000 . 1579 00:41:40,000 --> 00:41:41,000 . 1580 00:41:42,000 --> 00:41:43,000 . 1581 00:41:44,000 --> 00:41:45,000 . 1582 00:41:46,000 --> 00:41:47,000 . 1583 00:41:48,000 --> 00:41:49,000 . 1584 00:41:50,000 --> 00:41:51,000 . 1585 00:41:52,000 --> 00:41:53,000 . 1586 00:41:53,000 --> 00:41:54,000 . 1587 00:41:55,000 --> 00:41:56,000 . 1588 00:41:57,000 --> 00:41:58,000 . 1589 00:41:59,000 --> 00:42:00,000 . 1590 00:42:01,000 --> 00:42:02,000 . 1591 00:42:03,000 --> 00:42:04,000 . 1592 00:42:05,000 --> 00:42:06,000 . 1593 00:42:07,000 --> 00:42:08,000 . 1594 00:42:09,000 --> 00:42:10,000 . 1595 00:42:11,000 --> 00:42:12,000 . 1596 00:42:13,000 --> 00:42:14,000 . 1597 00:42:15,000 --> 00:42:16,000 . 1598 00:42:17,000 --> 00:42:18,000 . 1599 00:42:19,000 --> 00:42:20,000 . 1600 00:42:20,000 --> 00:42:21,000 . 1601 00:42:22,000 --> 00:42:23,000 . 1602 00:42:24,000 --> 00:42:25,000 . 1603 00:42:26,000 --> 00:42:27,000 . 1604 00:42:28,000 --> 00:42:29,000 . 1605 00:42:30,000 --> 00:42:31,000 . 1606 00:42:32,000 --> 00:42:33,000 . 1607 00:42:34,000 --> 00:42:35,000 . 1608 00:42:36,000 --> 00:42:37,000 . 1609 00:42:38,000 --> 00:42:39,000 . 1610 00:42:40,000 --> 00:42:41,000 . 1611 00:42:42,000 --> 00:42:43,000 . 1612 00:42:44,000 --> 00:42:45,000 . 1613 00:42:46,000 --> 00:42:47,000 . 1614 00:42:47,000 --> 00:42:48,000 . 1615 00:42:49,000 --> 00:42:50,000 . 1616 00:42:51,000 --> 00:42:52,000 . 1617 00:42:53,000 --> 00:42:54,000 . 1618 00:42:55,000 --> 00:42:56,000 . 1619 00:42:57,000 --> 00:42:58,000 . 1620 00:42:59,000 --> 00:43:00,000 . 1621 00:43:01,000 --> 00:43:02,000 . 1622 00:43:03,000 --> 00:43:04,000 . 1623 00:43:05,000 --> 00:43:06,000 . 1624 00:43:07,000 --> 00:43:08,000 . 1625 00:43:09,000 --> 00:43:10,000 . 1626 00:43:11,000 --> 00:43:12,000 . 1627 00:43:13,000 --> 00:43:14,000 . 1628 00:43:14,000 --> 00:43:15,000 . 1629 00:43:16,000 --> 00:43:17,000 . 1630 00:43:18,000 --> 00:43:19,000 . 1631 00:43:20,000 --> 00:43:21,000 . 1632 00:43:22,000 --> 00:43:23,000 . 1633 00:43:24,000 --> 00:43:25,000 . 1634 00:43:26,000 --> 00:43:27,000 . 1635 00:43:28,000 --> 00:43:29,000 . 1636 00:43:30,000 --> 00:43:31,000 . 1637 00:43:32,000 --> 00:43:33,000 . 1638 00:43:34,000 --> 00:43:35,000 . 1639 00:43:36,000 --> 00:43:37,000 . 1640 00:43:38,000 --> 00:43:39,000 . 1641 00:43:40,000 --> 00:43:41,000 . 1642 00:43:41,000 --> 00:43:42,000 . 1643 00:43:43,000 --> 00:43:44,000 . 1644 00:43:45,000 --> 00:43:46,000 . 1645 00:43:47,000 --> 00:43:48,000 . 1646 00:43:49,000 --> 00:43:50,000 . 1647 00:43:51,000 --> 00:43:52,000 . 1648 00:43:53,000 --> 00:43:54,000 . 1649 00:43:55,000 --> 00:43:56,000 . 1650 00:43:57,000 --> 00:43:58,000 . 1651 00:43:59,000 --> 00:44:00,000 . 1652 00:44:01,000 --> 00:44:02,000 . 1653 00:44:03,000 --> 00:44:04,000 . 1654 00:44:05,000 --> 00:44:06,000 . 1655 00:44:07,000 --> 00:44:08,000 . 1656 00:44:08,000 --> 00:44:09,000 . 1657 00:44:10,000 --> 00:44:11,000 . 1658 00:44:12,000 --> 00:44:13,000 . 1659 00:44:14,000 --> 00:44:15,000 . 1660 00:44:16,000 --> 00:44:17,000 . 1661 00:44:18,000 --> 00:44:19,000 . 1662 00:44:20,000 --> 00:44:21,000 . 1663 00:44:22,000 --> 00:44:23,000 . 1664 00:44:24,000 --> 00:44:25,000 . 1665 00:44:26,000 --> 00:44:27,000 . 1666 00:44:28,000 --> 00:44:29,000 . 1667 00:44:30,000 --> 00:44:31,000 . 1668 00:44:32,000 --> 00:44:33,000 . 1669 00:44:34,000 --> 00:44:35,000 . 1670 00:44:35,000 --> 00:44:36,000 . 1671 00:44:37,000 --> 00:44:38,000 . 1672 00:44:39,000 --> 00:44:40,000 . 1673 00:44:41,000 --> 00:44:42,000 . 1674 00:44:43,000 --> 00:44:44,000 . 1675 00:44:45,000 --> 00:44:46,000 . 1676 00:44:47,000 --> 00:44:48,000 . 1677 00:44:49,000 --> 00:44:50,000 . 1678 00:44:51,000 --> 00:44:52,000 . 1679 00:44:53,000 --> 00:44:54,000 . 1680 00:44:55,000 --> 00:44:56,000 . 1681 00:44:57,000 --> 00:44:58,000 . 1682 00:44:59,000 --> 00:45:00,000 . 1683 00:45:01,000 --> 00:45:02,000 . 1684 00:45:02,000 --> 00:45:03,000 . 1685 00:45:04,000 --> 00:45:05,000 . 1686 00:45:06,000 --> 00:45:07,000 . 1687 00:45:08,000 --> 00:45:09,000 . 1688 00:45:10,000 --> 00:45:11,000 . 1689 00:45:12,000 --> 00:45:13,000 . 1690 00:45:14,000 --> 00:45:15,000 . 1691 00:45:16,000 --> 00:45:17,000 . 1692 00:45:18,000 --> 00:45:19,000 . 1693 00:45:20,000 --> 00:45:21,000 . 1694 00:45:22,000 --> 00:45:23,000 . 1695 00:45:24,000 --> 00:45:25,000 . 1696 00:45:26,000 --> 00:45:27,000 . 1697 00:45:28,000 --> 00:45:29,000 . 1698 00:45:29,000 --> 00:45:30,000 . 1699 00:45:31,000 --> 00:45:32,000 . 1700 00:45:33,000 --> 00:45:34,000 . 1701 00:45:35,000 --> 00:45:36,000 . 1702 00:45:37,000 --> 00:45:38,000 . 1703 00:45:39,000 --> 00:45:40,000 . 1704 00:45:41,000 --> 00:45:42,000 . 1705 00:45:43,000 --> 00:45:44,000 . 1706 00:45:45,000 --> 00:45:46,000 . 1707 00:45:47,000 --> 00:45:48,000 . 1708 00:45:49,000 --> 00:45:50,000 . 1709 00:45:51,000 --> 00:45:52,000 . 1710 00:45:53,000 --> 00:45:54,000 . 1711 00:45:55,000 --> 00:45:56,000 . 1712 00:45:56,000 --> 00:45:57,000 . 1713 00:45:58,000 --> 00:45:59,000 . 1714 00:46:00,000 --> 00:46:01,000 . 1715 00:46:02,000 --> 00:46:03,000 . 1716 00:46:04,000 --> 00:46:05,000 . 1717 00:46:06,000 --> 00:46:07,000 . 1718 00:46:08,000 --> 00:46:09,000 . 1719 00:46:10,000 --> 00:46:11,000 . 1720 00:46:12,000 --> 00:46:13,000 . 1721 00:46:14,000 --> 00:46:15,000 . 1722 00:46:16,000 --> 00:46:17,000 . 1723 00:46:18,000 --> 00:46:19,000 . 1724 00:46:20,000 --> 00:46:21,000 . 1725 00:46:22,000 --> 00:46:23,000 .