estamos en nuestro ltimo ejercicio, donde vamos a ver cmo podemos
utilizar las excepciones. Una excepcin muy comn que tenemos es cuando por ejemplo queremos accesar a un ndice que no est definido en un arreglo. Por ejemplo, yo podra tener el arreglo. Puedo ponerle "nu meros". Y yo puedo definir que este arreglo tenga tres elementos. Tenga el elemento "5, 2, 8". De esta forma es como estoy inicializando mi arreglo. Y yo podra hacer que por ejemplo de este numeros. Si quiero accesar al elemento 0, podra imprimir esto y p odra colocar el elemento 0. Podra tambin ahora colocar el elemento 1. Y bueno, todos sabemos muy bien cul va a ser el resultado si yo quiero accesar a estos elementos. 5, 2, 8. Pero, q u pasa si quiero accesar a un elemento o a un ndice que no est definido?. El ndice 0 est definido, el ndice 1 s, el ndice 2 tambin, pero el ndice 3 no. Si yo coloco un ndice 3, al momento de correr esto. Nos bota un error. Vamos a ver. Que nos bota un error y automticamente pues, bueno. you ni siquiera nos imprimi nuestro siguiente mensaje que queramos poner pues una carita feliz. De que todo haba sido exitosamente. Nos lanza esta excepcin: ArrayIndexOutOfBoundsException. Esto quiere decir que nos pasamos del ndice del arreglo. Que estamos accesando a una localidad que no est definida. Recordando la forma en como planteamos nuestros bloques try/catch. Yo podra poner try, y recordamos que dentro de try va el cdigo que podra ser vulnerable. Colocamos "numeros = {5, 2, 8}. Y aqu dentro, en catch, puedo colocar. La excepcin o el error que me est dando. O sea, catchar la excepcin especfica. Yo podra colocar un ArrayIndexOutOfBoundsException. Y entonces indicar "arrayE". Entonces yo aqu, si hago esto, si pongo esto as, de esta forma you no me est saltando lo rojo que tena. No lo podemos observar, pero est entrando aqu. La idea es evitar que el programa se interrumpa. Entonces yo puedo colocar aqu a lo mejor un mensaje que sea ms amigable que el que tenamos hace rato. Y si cae aqu, podemos decirle que "Ests intentando entrar a una localidad que no est definida". Porque yo you s exactamente qu es lo que est pasando. Una localidad que no est definida. Y en efecto estamos en trando aqu. Yo puedo adems agregar un bloque finally. Y aqu imprimir a lo mejor nuestra carita feliz que tanto queramos que se ejecutara. Nuestra carita feliz s s e ejecuta. Est entrando al catch, porque estamos entrando a una localidad no definida. Est entrando al catch, y adems tambin est entrando a finally. Si yo quito esta, y dejo que el programa corra bien. 0, 1, 2, son elementos vlidos. Qu suceder? Simple mente me imprimir los elementos pero no me imprimir el mensaje. Y adems me seguir ejecutando mi carita feliz. Yo puedo por ac tambin Catchar una excepcin ms general. Tambin como lo estamos haciendo. Pero para poderlo hacer as, necesitamos colocarlo despus. Despus del elemento especfico. Entonces yo puedo colo car aqu, si no entr aqu. Si entra aqu yo you s que es un error de que la localidad no est definida. Pero si ocurre cualquier otro error, yo podra tambin gestionar el error, colocando un mensaje de "Ocurri algn error". Ocurri, vamos a poner "este error". Y podra por aqu. Imprimir co n la instruccin printStackTrace. Todo lo que ha sucedido en ese error. Hasta el momento no tenem os pero si llega a caer aqu, me imprimir toda la ruta que ocurri. Todas las clases en las que estuvo saltando cuando ocurri este tipo de error. Entonces vuelvo a lo mismo. Tenemos un error en rojo que no s gestionar. Este tipo de errores no son amigables para los usuarios. Entonces procura no mostrrselos a los usuarios. Este tipo de errores podran funcionarte a ti como programador para que te diga o para que te muestre un poco ms de qu fue lo que sucedi. Si no fue un error de este tipo, ocurri otro tipo de error. Y aqu podemos saber qu fue lo que pas. Entonces este tipo de instrucciones te funcionan a ti programador y t podras imprimirlas en algo que solo t puedas ver. Pero si se lo muestras al usuario no es algo prctico y no es algo que sea conveniente. De esta forma es com o podemos gestionar nuestras excepciones y nuestros errores para que nuestras aplicaciones no terminen inesperadamente. [MUSIC]