✅✅ ✅ ✅ ✅ Todos mis cursos gratuitos 👉 www.pildorasinformaticas.es ✅✅ ✅ ✅ ✅ 🚀 ¿Quieres ejercicios? ¿Quieres más temario? 👉 www.pildorasinformaticas.es/course/java-tutorizado/🚀 🚀 ¿Quieres que te resuelva las dudas de Java? 👉 www.pildorasinformaticas.es/course/java-tutorizado/ 🚀 💥💥💥 Siempre seguiré subiendo cursos gratuitos por aquí. Gracias a todos por seguirme. 💥💥💥
@eduardocoyto24974 ай бұрын
9 años después...... y el video sigue siendo tan útil como el primer día que lo creó. Saludos Profe y muchas gracias!
@josebarrundia8238 жыл бұрын
No entiendo como otros youtubers ganan miles y usted no. Gracias por su trabajo!
@pildorasinformaticas8 жыл бұрын
jajajajaja, mi temática no gusta tanto como otras. Qué le vamos a hacer....
@stevenandresnogueramosquer25708 жыл бұрын
para mi es el mejor profesor en programación y que nos brinda este tipo de conocimientos gratis, yo no entiendo como es que no hay suficiente suscriptores como forma de agradecimientos.
@LeonardoGarcia-op6ox3 жыл бұрын
@@pildorasinformaticas porque la sociedad no aprecia lo bueno de lo inútil . Por aqui le doy las gracias por su apoyo.
@omarstivenriverarocha81743 жыл бұрын
Puede ser porque en la mayoría de sus vídeos no deja ver su rostro. Eso influye mucho.
@josebarrundia8233 жыл бұрын
@@omarstivenriverarocha8174 Enseñar el rostro, bajo mi punto de vista, no aporta nada de valor en la información que brinda. Normalmente uno va en busca de lo que necesita. Que nostalgia ver este video de nuevo. Espero estes muy bien Juan, me ayudaste bastante!
@jafetvargas54087 жыл бұрын
Mis respestos, eres sin duda un profesor excepcional, muchas gracias por este contenido tan bien estructurado y explicado impecablemente. Es interesante cómo el primer vídeo de este curso tiene 1 millón vistas y este si acaso llega a las 14mil vistas. Jajaja montón de desertores!!!
@miguelfernandezsevillano18523 жыл бұрын
Usted es un docente y un genio recontra infra valorado
@griseldagancedo97136 жыл бұрын
Excelente explicación! Siguiendo las mismas instrucciones se puede controlar la excepción que se lanza, si en lugar de ingresar al inicio del programa 1 o 2, se ingresa un texto. Incluso, con un bucle do while, se puede reiterar el pedido de datos al usuario en caso de que se ingrese un valor incorrecto. Muchas gracias por tus vídeos!!
@miguelbriceno63962 жыл бұрын
Excelente curso, cada video se entiende de manera clara y rápida. Es un gran aporte al conocimiento, lo único es que cuando hay archivos para descargar los enlaces están rotos. Mi agradecimiento y admiración al Profesor Juan
@stevenandresnogueramosquer25708 жыл бұрын
profe juan eres el mejor. y muchas gracias por los cursos de tu canal.
@pildorasinformaticas8 жыл бұрын
Gracias a ti por el comentario y por seguir mis vídeos. Un saludo!!
@SinNombre1018 жыл бұрын
Saludos don Juan. Usted siempre en su línea , genial vídeo y explicación. Gracian por su tiempo y trabajo.
@emmanueljean-pierreauguste46863 жыл бұрын
El profe es un crack total, genio y muy didáctico. Gracias!
@selenepachecorodriguez9068 Жыл бұрын
Maravillosa explicación, estudio DAM y se me habían atragantado las excepciones. Por cierto, el archivo con el código no está, pero igualmente lo podemos copiar del video, mil gracias!!
@jsmgm93903 жыл бұрын
Excelente!!! No se puede explicar de forma más clara 👏👏👏👏👏
@giomarsalazar75475 жыл бұрын
Gracias Excelente como siempre Profesor Juan Díaz...
@samuel25603 жыл бұрын
Nuevamente, excelente video. Gracias profe, ¡admiro mucho su trabajo!
@antonioosuna10099 жыл бұрын
excelente curso he aprendido demasiado, podríamos ver "EVENTOS PERSONALIZADOS", creo que es un tema importante. Saludos
@pildorasinformaticas9 жыл бұрын
Antonio Osuna Hola !! Gracias por el comentario. Sí, los trataremos más adelante. Un saludo
@carlostovar51009 жыл бұрын
Saludos amigo!! excelente canal, nada mejor para aprender de diversas tecnologias... tu curso de java es muy bueno, no e visto videos relacionados con bases de datos, no estaria nada mal si mas delante lo maneja.. Muchas gracias por compartir
@pildorasinformaticas9 жыл бұрын
carlos tovar Hola !! Sí, tal y como comenté al comienzo del curso, este tendrá aproximadamente 350 vídeos. Aún vamos por el 144. En la segunda parte del curso abordaremos el tema de JDBC. Un saludo
@teldatamcy56569 ай бұрын
Excelente. Chévere Cambur!!!
@memejamas38183 жыл бұрын
gracias profe este video me gusta para saber corregir errores
@redactoresseo28053 жыл бұрын
Gran explicación como siempre
@oscargm19794 жыл бұрын
Si bien es cierto que sin el throws la excepcion la vamos a capturar igual,y a tratar debidamente,DEBEMOS RCORDAR QUE NO PROGRAMAMOS SOLOS,sino en un equipo,y si tu creas un método y no dices que excepciones lanza,el que vaya por detrás esta 'fucked' XD.Para eso es throws,simplemente es informar a los demás.Un saludo a tod@s
@cristiancamilomunozarango8233 жыл бұрын
Justo eso me preguntaba, qué función cumplía el throw, gracias por tu comentario men.
@ivancondesilva3063 жыл бұрын
@@cristiancamilomunozarango823 throw y throws :( ... Con dolor de cabeza por ahora pero debo entenderlo
exelente, muchas gracias por compartirnos su conocimiento C:
@miguelfernandezsevillano18523 жыл бұрын
Buenos videos. Super recomendados
@mariofernandez238 Жыл бұрын
Excelente video!
@javierflores93523 жыл бұрын
Una pregunta, si de igual manera debo controlar la excepcion con un try-catch dentro del metodo, porque en la cabecera del metodo debo colocar el throws? si cuando llame el metodo desde otra parte del codigo, es esa parte nunca recibire excepcion?
@papeleria.42295 жыл бұрын
Si no se el tipo especifico de excepción , en teoria valdira poner que es del tipo Runtime exception?, ya que segun entiendo las exepciones son polimorficas, por lo tanto puedo utilizar culaquier tipo de exception que se encuentre mas arriba el la jerarquia de herencia?
@charlyyaciofani28296 жыл бұрын
Gracias Juan, como alguien le puede dar pulgar abajo?... que desgracia.... Gracias por tus aportes!
@zeusclash14755 жыл бұрын
no entiendo tampoco
@juanmartinmerlo36828 жыл бұрын
Hola tocayo, cómo estás? Pregunta, por qué ponemos un throw NullPointerException si ya por si mismo tira una excepcion? Creo que ya sería suficiente con el try catch. De hecho funciona igual sólo poniendo el try catch. Saludos
@pildorasinformaticas8 жыл бұрын
+Juan Martín Merlo Hola !! Pues no recuero , la verdad. Es que tengo ya 720 vídeos y no recuero que hice en este. ¿Me puedes decir minuto y segundo donde aparece la instrucción? Un saludo
@carlosc42237 жыл бұрын
Hola Juan, eso lo encuentras a partir del min. 7:30. A mi también me interesa saber por que pones el "throws" si de todas formas la excepción se va a disparar. No sería redundante?
@alejandrocasanovaflores73417 жыл бұрын
Hola chicos, alguno ya sabe cual es la explicación para la duda planteada por Juan Merlo?
@juliop.63376 жыл бұрын
Las excepciones no comprobadas primero hay que lanzarlas con throw y despues capturarlas con try, catch.
@amater__7 жыл бұрын
La finalidad de throws en un método no es avisar a quien lo invoque que tiene que capturar la excepción? es decir, qué sentido tiene capturar la posible excepción dentro del método y aún así poner el throws en la cabecera del método? No sería más correcto utilizar una de estas dos opciones? 1- Componer el try-catch dentro del método pedirDatos y no poner el throws InputMismatchException: 2- Poner el throws InputMismatchException en el método y componer el bloque try-catch en el máin: try { pedirDatos(); }catch(InputMismatchException e) { System.out.println("¡Qué demonios has introducido!"); } Un saludo y muchas gracias por tus vídeos, eres muy bueno.
@amater__7 жыл бұрын
Acabo de ver el vídeo y efectivamente ahí lo explicas mejor. Dejo el comentario con la pregunta por si alguien vuelve a tener la misma duda que he tenido yo y la respuesta para que sepa que en el siguiente vídeo se resuelve.
@jelsynceron51632 жыл бұрын
No se si el maestro respondió tu comentario pero efectivamente es como tu lo tienes, la opción 2, es la mejor practica de programación.
@ThisJac6 жыл бұрын
¿Es necesario o más correcto el uso de throws que poner solo el try catch? hasta ahora solo he puesto try catch sin poner throws en el método o main correspondiente, y veo que lo pones pero no entiendo bien si es necesario, porque funciona de la misma forma. Un saludo y gracias por este curso tan buenísimo
@alejandro.m.gonzalez2 жыл бұрын
La utilidad de *throws* radica en que permite *PROPAGAR LA EXCEPCIÓN*, de modo que si un **_metodoA()_** declara con esta palabra reservada que arroja excepciones, no es obligatorio que estas sean capturadas en su ámbito o **_scope_, sino que la captura o manejo pueden realizarse en el metodoB() desde el cual se invoca a metodoA(). La propagación de excepciones permite naturalmente recorrer una *pila de llamadas_*_ de más longitud y terminar en el método _main()_
@ThisJac2 жыл бұрын
@@alejandro.m.gonzalez vaya muchísimas gracias por tu explicación Alejandro, se agradece mucho la molestia por tu parte. Me queda bastante más claro con tu ejemplo :D
@josemanuelmartinezmartinez81347 жыл бұрын
Hola, Juan. Te pido ayuda por un problema que estoy teniendo. Hace unos días, tuve que desinstalar y reinstalar Java por problemas de espacio en el disco, y lo mismo hice con eclipse. La cuestión es que el código que escribo desde entonces, no me lo ejecuta eclipse y me da el siguiente error "Error: no se ha encontrado o cargado la clase principal excepciones_I.Entrada_datos" Da la sensación de que, si bien el archivo ".java" lo guarda correctamente, no compila el mismo y no se genera el archivo ".class" en la correspondiente carpeta \bin. ¿Sabes a qué puede deberse ésto y/o cómo resolverlo? Aprovecho para felicitarte por la calidad de tus tutoriales y lo ameno y didáctico de los mismos. Muchas gracias de antemano.
@pildorasinformaticas7 жыл бұрын
Sin ver tu ordenador es complicado que te pueda ayudar con esto, pero yo comprobaría de entrada dos cosas: 1. comprueba que la máquina virtual (JRE) sigue instalada 2. Comprueba que Eclipse está "leyendo" la JRE correcta. Pulsa con el botón derecho sobre el proyecto que te da error, a continuación "properties", después "java build path" y allí ve a la pestaña "libraries". Si no aparece la biblioteca de la JRE, agrégala desde el botón "Add Library" Es todo lo que se me ocurre decirte a distancia. Un saludo!!
@josemanuelmartinezmartinez81347 жыл бұрын
Hola, Juan. Ante todo muchas gracias por tus indicaciones. Gracias a ellas he conseguido recuperar la funcionalidad de Eclipse y puedo seguir adelante con este fabuloso curso. Un cordial saludo,
@PabloPR70872 жыл бұрын
package excepciones_I; import java.util.Scanner; public class Entrada_datos { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("¿Qué deseas hacer?"); System.out.println("1. Introducir datos"); System.out.println("2. Salir del programa"); Scanner entrada = new Scanner(System.in); int decision = entrada.nextInt(); if(decision==1) { pedirDatos(); }else { System.out.println("Adios"); System.exit(0); } entrada.close(); } static void pedirDatos() { Scanner entrada = new Scanner(System.in); System.out.println("Introduce tu nombre, por favor"); String nombre_usuario = entrada.nextLine(); System.out.println("Introduce edad, por favor"); int edad = entrada.nextInt(); System.out.println("Hola " + nombre_usuario + ". El año que viene tendrás " + (edad+1) + " años."); entrada.close(); System.out.println("Hemos terminado"); } }
@maution9 жыл бұрын
profe muchas gracias por la explicación, en programas como el que muestra en el ejemplo, se puede utilizar recursividad para continuar el hilo de ejecución?, muchas gracias de antemano. Saludos
@pildorasinformaticas9 жыл бұрын
+Mauricio Onoro Hola !! Sí, así es. Podríamos hacer que la clase fuera recursiva y seguir la ejecución del Thread. Un saludo
@kevinsboboda2 жыл бұрын
que raro que nadie dejo el código que se vio en el video ya que no se consigue en el link dejado, que paso con esos héroes sin capa?
@MatiasEzelQ8 жыл бұрын
Juan, no entiendo porque hay que ponerle al método que lanze esta excepción: throws InputMismatchException Porque en vez de esa no puedo poner otra por ejemplo?
@pildorasinformaticas8 жыл бұрын
+Matias Daneri Hola !! Si te fijas en el minuto 3:17 del vídeo se ve en consola cuál es la excepción que lanza el programa. Ese es el motivo por el que tenemos que especificar esa excepción y no otra. Si vemos en consola que el programa lanza una excepción de tipo InputMismatchException, ¿por qué ponerle al método que lanza una excepción por ejemplo de tipo ArrayIndexOutOfBoundsExepction? No tendría sentido ¿no? De igual forma, si en otro programa diferente ves que al ejecutar lanza una excepción de tipo ArrayIndexOutOfBoundsException en consola: ¿cuál será la excepción que le pondremos al método? Aunque siempre puedes especificar una excepción general poniendo simplemente throws Exception. Poco recomendable pero más cómodo. Aunque se que es doloroso, intenta echar un vistazo de nuevo a los vídeos de las excepciones, desde el primero hasta el último sin saltarte nada. Un saludo!!
@MatiasEzelQ8 жыл бұрын
Gracias por la respuesta!! Ya lo captee :D
@danielarias8094 жыл бұрын
Jaja que demonios has introducido muy bueno
@ruif3r5 жыл бұрын
Para que es la instruccion throws al lado del metodo? consigo que con solo el try y el catch ya es suficiente
@ornellaputti66916 жыл бұрын
Juan, me perdí en una parte: Por qué si cacheas la Exception Null Pointer Exception, también le ponés en el método la claúsula Throws. Hace falta poner la clausula si lo estoy catcheando? Gracias!
@luciopaulino38784 жыл бұрын
Si, ya que por defecto este tipo de excepciones no llevan un try-catch sino que se arreglan programando para que no salgan, en caso de que encuentres esto imposible, se debe indicar al método que el mismo lleva un try-catch.
@opuntopunto57832 жыл бұрын
Pero si capturas la excepción el método no tiene que lanzarla... 11:31
@AdRiiANerX6 жыл бұрын
MI PREGUNTA ES! ¿Entonces para que existe throws y lanzar una excepción si el codigo se puede mejorar?. Podria ser para... ¿ahorrar lineas de codigo?
@pildorasinformaticas6 жыл бұрын
¿Para qué existe throws? Imagina que estás programando un método que conecta con una BBDD. Ese método puede que no funcione por causas que se escapan a tu control, por ejemplo una caída de la red, una migración que se hizo de la BBDD y un largo etc. Si eres buen programador, deberías incluir la instrucción throws en ese método para que el método lance una excepción intencionada. ¿Para qué? Para que todo aquel que quiera utilizar ese método que estás creando tú, se vea obligado a capturar la excepción y de esta forma el programa no se caiga si hay una caída de la red, si la BBDD se migró y no está en su sitio o cualquier otra causa ajena al control del programador. Si no utilizas throws el código que has programado en dicho método puede estar perfecto, excepto por el detalle de que no obligas a aquellos que lo usen a capturar una excepción, de manera que si hay una caída de red la BBDD no está o cualquier otro desastre que pueda ocurrir, el programa caerá entero. Espero que haya entendido la utilidad. Un saludo!
@AdRiiANerX6 жыл бұрын
pildorasinformaticas excelente explicación muchas gracias por tomarse su tiempo para responder =)
@juanpablonunez13332 жыл бұрын
Excelente
@MrRzagenius9 жыл бұрын
hola amigo te felicito por el curso estoy usando netbeans 4.7 estoy practicando JTable pero al darle construir no me aparece la ventana con la tabla en la consola me sale BUILD SUCCESSFUL algun consego gracias de antemano
@javilalu2653 Жыл бұрын
Hola, se que el video es viejo, pero solo para avizar, el link con el archivo del vídeo no funciona
@arturius464 жыл бұрын
Pero, si capturas la excepción, nunca será propagada para los métodos llamantes ¿no?
@josebenjumedarubio56666 жыл бұрын
buenas, tengo una duda: si se lanzan varias exepciones del mismo tipo, cómo sabe en qué catch tiene que entrar? gracias un saludo
@luciopaulino38784 жыл бұрын
Las excepciones que se lancen dentro del try, serán las que entren el el siguiente catch, es decir, los catch solo ejecutaran las excepciones que sean lanzadas en el try, por eso podes tener 20 excepciones del mismo tipo y que no resulte complicación, porque todas las estructuras try, llevan su propio catch, al menos yo lo veo así, saludos.
@designanimation6 жыл бұрын
Hola gente! Una consulta acerca de este ejercicio que me esta volviendo loco. Esta relacionado con el metodo pedirDatos() ¿Porque tiene que ser estatico? Es mas, si no pongo el static, cuando hago la llamada, eclipse me salta con este error: "Cannot make a static reference to the non-static method". Alguna sugerencia? Graicas!!
@luciopaulino38784 жыл бұрын
Si ese es el error, muy probablemente el problema este en el main, ya que estarás llamando a la clase para usar el método pedirDatos(), y eso solo se hace cuando el método es estático. Cuando un método/variable es estático, se debe hacer referencia a la clase para usarlo, Ej: Math.sqrt() o Math.pi, ahora, cuando un método o variable no es estático, se debe crear un objeto de la clase en cuestión, y en ese objeto utilizarlo. Ej: JButton boton = new JButton(); boton.addActionListener(l); Uno debe usar métodos estáticos cuando estos métodos no están hechos para incidir en los objetos de su clase, y métodos normales, cuando estos están hechos para actuar/trabajar en un objeto en cuestión de la clase.
@bastianmardonez74703 жыл бұрын
El método main es estático, por ende, si recordamos una de las características del los miembros estático (con miembros me refiero a atributos y métodos) dice que estos solamente puede llamar a miembros que también sean estáticos
@carlosmauricioaquino2144 Жыл бұрын
Intento descargar el archivo y me dice que " no se encuentra ".
@pildorasinformaticas Жыл бұрын
Copia la dirección de descarga y cambia el http por https y el .com por .es. Haz esto con cualquier cosa que encuentres en el curso y no te descargue ¡Saludos!
@nickledesmac.7866 жыл бұрын
Y si ocurre dos excepciones como las capturo... gracias y saludos
@No_te_jales3 жыл бұрын
año 2021 presente
@forsabarça4 жыл бұрын
throws InputMismatchException >> obtengo error Uso una excepción que está por arriba de la clase (por ejemplo >> java.lang.RuntimeException)
@forsabarça4 жыл бұрын
Imagínate que el error tiene origen en la primera pregunta, es decir: - El programa pregunta qué deseas hacer. - EN vez de introducir 1 o 2, también generará un error compatible. Éste error debe ser tratado por un try - catch , ¿verdad?
@luciopaulino38784 жыл бұрын
Nono, como el dice en el video, esto no es considerado buena practica, ya que por que vas a tratar un error que podes solucionar? haces que tu programa sea menos eficiente. El profe lo hizo con intención de que aprendamos. Para el caso que planteas, lo conveniente seria que utilices una estructura que vimos muy al principio que es la do-while, el código seria así: (puede ser que se me zafe una mayúscula, pero la idea del código seria así) int opciones; do{ //suponiendo que solo 1 y 2 son respuestas validas opciones = Integer.parseInt(JOptionPane.showInputDialog("ingrese 1 o 2"); }while((opciones != 1)&&(opciones != 2)); con este bucle, se ejecutaría el pedido de "ingrese 1 o 2" hasta que alguno de los dos números sea ingresado. De esa forma solventas el programa, y funciona para cada vez que se pregunte, en vez de poner una excepción que lleva el mismo código, y lo único que hace es informar el error, sin solucionar nada. Se que te lo digo 6 meses mas tarde pero espero que igual sea de ayuda, saludos.
@marcosospino66523 жыл бұрын
Es un "raise" de python, pero en java
@eduardobracho95567 жыл бұрын
URGENTE static void pedirDatos() throws InputMismatchException { try{ Scanner entrada=new Scanner(System.in); System.out.println("Introduce tu nombre, por favor"); String nombre_usuario=entrada.nextLine(); System.out.println("Introduce edad, por favor"); int edad=entrada.nextInt(); System.out.println("Hola " + nombre_usuario + ". El año que viene tendrás " + (edad+1) + " años"); entrada.close(); }catch(InputMismatchException e){ System.out.println("que demonios has introducido"); } System.out.println("Hemos terminado"); } alguien porfavor que me explique la utilizacion del throws en la declaracion del metodo ya que funciona el programa sin ella
@alejandrocasanovaflores73417 жыл бұрын
Tengo la misma duda. Ya sabes la respuesta? Gracias de antemano.
@forsabarça4 жыл бұрын
imagínate que el error tiene origen en la primera pregunta, es decir: - El programa pregunta qué deseas hacer. - No introduces 1 o 2, también generará un error comprovado. Éste error debe ser tratado por un try - catch , ¿verdad?
@AstBun18 жыл бұрын
Que cruel. Te deja asi? Sin mas? Sin explicaciones ni nada? Hemos terminado y punto? Que frialdad dios mio.
@joaquinsalas97498 жыл бұрын
Claro pero depende de como formulamos un programa, uno puede seguir ejecutandolo , por ejemplo si ese bloque da error donde pide el nombre y la edad, estuviese en un ciclo, ahi seguira hasta que se digite lo correcto, entonces ya tendra mas claridad, pero en ese caso es un programa sencillo, entonces porsupuesto termina pero si nque se caiga, ya que el profe explica que si hubiesen miles de lineas por debajo de ese codigo, se puedan ejecutar, esa es la idea de las excepciones. Saludos.