Y qué pasa si ocurre un error?
Por ejemplo, la tala no existe.
Podrían colocar productos?
No sé.
2 va a caer en el Katt en este qure septón.
Bueno, vamos a ver con al chef F10.
Levantamos.
Bien.
Y acá tenemos el error perfecto.
Nos dice la tabla producto.
2 no existe y está bien, pero acá tenemos otro problema.
Voy a cerrar la pestaña Cheff Esc.
El problema es que se lanza la sección acá cuando se ejecuta el query ya y se sale del try y nos vamos
al catch.
A todo esto voy a colocar acá, eh?
Y acá eh?
Para que quede más simple.
Bien.
El problema es que no cierra la conexión y nos cierra el resultado ni nada de los recursos.
Queda todo abierto y un problema.
Es decir, que hay que ocurren.
Error lanza la excepción.
Nos vamos al catch 3.
Todo acá que está dentro del try que los recurso completamente abierto.
Entonces deberíamos utilizar un finali y esa es la idea de finalde.
Entonces vamos a modificar.
Vamos a colocar después del catch el finali y acá estos recursos de acá los vamos a seleccionar y los
vamos a mover hacia abajo y lo dejamos dentro del frenarle.
Ahora aclaro, hay un problema, hay un detalle que tenemos que solucionar.
Por ejemplo, el resultado, la sentencia y la conexión se están definiendo acá dentro del try.
Acá estamos definiendo las variables.
Por lo tanto, solamente existen dentro del try y no fuera.
El Faina íli es otro contexto.
Entonces lo que podríamos hacer es mover esto acá y dejarlo o inicializar en NULL.
Afuera vamos a ver como sería el cambio.
Seleccionamos con el igual, lo vamos a copiar y lo dejamos acá fuera del traje.
Lo pegamos Nule y lo mismo.
Bueno, ya podemos quitar el connection.
Esto acá simplemente lo vamos a quitar jamás.
Así lo mismo lo seleccionamos, lo copiamos y lo dejamos arria.
Y también el result set lo copiamos, lo pegamos y listo.
Ahí lo tenemos.
Bajamos y quitamos el tipo.
Bien, pero también tenemos que manejar el trait catch dentro de finalde en el closet, porque también
podría lanzar una solución un execute exception y se me complica un poco el código, sino que se complique,
sino queda poco elegante, poco amistoso al desarrollador.
Claro, estoy manejando el trade catch, pero en este contexto acá ahora lo tengo que manejar acá.
Entonces bueno, para eso sobre el error una forma más acciones o bien otra alternativa con alt enter
de que nos dice anidar contra el cacho nos da la solución.
Perfecto.
Pero en realidad son los tres bloques.
Vamos a seleccionar todo acá y lo movemos dentro del traje perfecto y ordenamos que si se fijan.
Entonces trae acá el catch, el finali y acá cerramos los recursos.
En caso de error mucho código que un poco desordenado, mucho trae catch muchas animaciones.
No es tan legible, tan elegante.
Nuestro código podría quedar mucho mejor de otra forma.
Bueno, de todas formas funciona y funciona bien.
Vamos a levantar con cheff F10.
Nada bueno me faltó acá cambiar acá productos.
Ahora si volvemos a levantar.
Bicicletas Sanson funciona hiciera la conexión después recuerda que finali siempre se ejecuta, siempre
ocurre el error o no ocurre el error.
Es decir, si todo sale bien en el track o si se lanza la sesión.
Por lo tanto, si la tabla no existe o por ejemplo un poco más arriba, si el robot, el Yussef Naik
o el password incorrecto o la base auto incorrecta.
Por ejemplo, por acá vamos a cambiar el Yellowstone Ruta 2.
Volvemos a levantar.
Lánzale error vigen aceso negado para el RUT 2.
El usuario visita bien y de hecho ocurre error acá en el Connection.
De hecho, la sentencia nos alcanza a crear.
Tampoco el resultado.
Por lo tanto, son nulas.
Llega, lanza otro error.
No se puede invocar el ploff porque la sentencia es nula.
Entonces, además tenemos que validar que sean distinto null por cada uno.
Si es distinto, null.
Punto Clouds.
Se fijan entonces mucha animación y mucho if y mucha cosa.
Entonces, una forma mucho mejor y más optimizada es lo siguiente el auto Closs que se cierre forma
automática y eso lo maneja la máquina actual por debajo, utilizando el Troi con recursos.
Entonces, bueno, vamos a modificar nuestro código.
Vamos a cerrar la consola.
Lo primero es quitar todo lo que diga Finalde y todo lo que diga Clouds.
Entonces seleccionamos, lo quitamos y en el try por acá vamos a colocar los paréntesis y todo esto
acá.
Todo lo que sea conexiones lo vamos a mover.
Entonces seleccionamos.
Lo cortamos.
Y lo dejamos acá hoy, que estamos dentro del triple con recurso.
Tenemos que definir acá los con hecho en el Steinmetz, todo esto que tenemos acá de y lo vamos a quitar,
lo quitamos y lo definimos acá.
Entonces acá sería con hecho lo mismo la sentencia por acá.
Y también el resulted?
Ya lo tenemos.
Lo que sí, el último punto y coma que tenemos acá en el result set lo podríamos omitir entonces dentro
del recurso del tri, cuando estamos intentando abrir y ejecutar estos recursos con el conejo.
Primero las sentencias se van separando con punto y coma, pero el último se puede omitir y se fijan
que mucho mejor que mucho más legible nuestro código.
De hecho, el con el Steinmetz y el resultado se cierran de forma automática.
Después, cuando se ejecuta el 3, si sale todo bien y si sale mal en el catch también se va a cerrar.
Es un auto Clough y de esta forma no evitamos tenerte anidar.
Se fijan con tanto trait catch con if preguntarselo objeto distinto nulo para invocar el Clowes.
El statement se distinto en null también.
El resultado queda mucho más limpio y también son características que son relativamente nuevas de yaba.
Que empezar a utilizar otro tema que quería hablar sobre Maven en un proyecto Maven.
Acá aparece un menú lateral.
Hacemos un clic en esta parte de acá al final a la derecha.
Acá tenemos algunas configuraciones.
Por ejemplo, acá podemos recargar Orri Lot todo nuestro proyecto Maven para descargar o volver a cargar
la dependencia o dependencia que nos hayan descargado.
Por ejemplo, el JS, aunque ya lo hicimos la clase anterior, se acuerdan que apareció el reloj de
forma automática como por acá en verde?
Bueno, también lo podemos hacer acá y también tenemos para generar el proyecto con el package para
empaquetar y crear el JAR o el war.
El link tal lo mismo.
Bueno, después vamos a trabajar, pero para que tenga presente un JAR es un archivo comprimido de YABA
que en el fondo lo que hace empaquetar nuestra aplicación con el código compilado, no el código fuente,
el compilado para producción para ejecutar, ya sea en un servidor o en la máquina apolillada, en un
Tomcat que nos servirá de aplicación.
En fin, también tenemos el de play para desplegar en un servidor el instal y el РАМКАХ muy parecido,
porque ambos generan los archivos JAR y el war, pero la referencia que limita lo instala y lo copia
en el repositorio local de Maven.
De esa forma puedo como reutilizar y agregar nuestro jar o librerías en otro proyecto como una dependencia.
Para que tengan una idea.
El JAR es una aplicación típicamente librerías, aunque también si trabajamos con Spring Boot, un jar
se puede ejecutar porque trae su propio servidor embebido dentro de este archivo comprimido JAR y el
juar les pareció el jar, pero se refiere a un archivo web para desplegar típicamente en un servidor
como Tomcat o de aplicaciones.
Eso es todo.
Voy a cerrar la pestaña si quiero mostrar más campos, por ejemplo acá tenemos el nombre, pero quiero
mostrar el Heidy, el precio, la fecha, resultado punto guet.
En este caso el Heidy es del tipo entero.
Entonces el tipo int yo acabo de colocar por ejemplo 1 el índice de la columna o bien el nombre tal
como vimos con el Heidy.
Guet, el precio del tipo entero.
Precio
la fecha del tipo dato, fecha, registro, pero vamos a ver un problema.
La idea que muestre en una sola línea en la consola.
Entonces, lo que podríamos hacer por acá?
Quitar el line.
Se fijan por acá tenemos el prime.
Simplemente lo quitamos, bajamos, quitamos, quitamos y el último va con el salto línea.
Ahí sí, también podemos colocar un espacio, porque si no va a estar todo, todo junto.
Entonces, por ejemplo, por acá un espacio y un espacio.
Y entremedio vamos a colocar una línea vertical y también lo vamos a copiar, lo seleccionamos, lo
copiamos y lo pegamos por acá y también por acá.
Acá el ruto no es root 2, sino roto.
Ahora, si levantamos de nuevo.
Ya lo tenemos, pero un pequeño detalle me faltó, claro, acá puse el prime.
No se lo quitamos.
Jassi 1/2 bicicleta con el precio y con la fecha de Kahuna con el detalle.
Bien, por ahora lo dejamos hasta acá y continuamos en la siguiente clase.