[MUSIC] PodrÃa parecer que los ArrayList y los vectores son iguales, pero en realidad no. Los vectores todo el tiempo están utilizando hilos para estarse construyendo, es decir, utilizan una técnica llamada threadsafe. Y los arreglos no utilizan hilos para crearse. Por lo tanto, se puede decir que el coste para generar un vector es mucho mayor dado que utiliza hilos, y para generar una ArrayList, no lo es. Por eso, la mayorÃa de las veces utilizamos ArrayList para crear listas sencillas. En Java tenemos una clase especial para manejar todas las excepciones o todos los tipos de excepciones que podrÃamos tener. Es la clase exception. Y la técnica que tenemos para capturar o cachar una excepción es la siguiente. Podemos definir un bloque de código try, seguido de un bloque de código catch, y adicional si queremos colocar otro bloque de código catch. Y por último, poner un bloque finally. Lo que debemos poner en nuestro bloque try es todo el código que nosotros podrÃamos pensar que detectarÃa o ocurrirÃa algún error. Todo el código sensible o todo el código que podrÃa provocar errores lo colocamos en el bloque try. si ocurre una excepción o si ocurre un error inesperado, lo podemos cachar en el bloque catch. Donde generalmente siempre colocamos la clase exception seguido de un objeto para poder manipular todos los métodos de esa clase exception. Tú puedes seguir cachando excepciones si asà lo quieres, es decir, si de pronto te ocurre una excepción de tipo SQL Exception. O si te ocurre una excepción de, no sé, alguna excepción aritmética, etcétera, etcétera. Todos esos tipos de excepciones las podemos cachar especÃficamente. Si ocurre una excepción de SQL exception yo puedo ponerlo en un bloque catch y entonces manejar esa excepción o ese error, de cierto modo, de un modo para SQL. O si es una excepción aritmética, puedo darle también otro trato especial. Pero si de pronto yo no sé que excepción va ocurrir, por eso colocamos una excepción genérica, que es de nuestra clase Exception. Esta es la clase padre, de donde se derivan todas las demás excepciones, SQL exception, aritmetic exception, arrive index of bound exception, etcétera, etcétera, etcétera. De ahà se derivan todas estas clases, de mi clase padre exception. Tenemos nuestro último bloque, finally. En el bloque finally colocamos lo que finalmente se hará, ocurra o no una excepción. Por ejemplo si tenemos nuestro bloque try, y ocurre una excepción, entra al catch, hace lo que tenga que hacer y pasa por el finally. Pero si no ocurre una excepción, hace todo lo que diga try y se salta los bloques catch. Por último, pasa también por el finally. El bloque finally es algo que siempre se va ejecutar, tengas un error o no lo tengas. Y a veces se acostumbra un poco no poner este bloque finally. Vamos a ver un ejemplo de cómo podemos utilizar o cómo podemos cachar una excepción. [MUSIC]