Me pasó lo mismo, en el trabajo tenia que hacer la descargar de un archivo, y se colgaba en algunos casos y pude encontrar que era porque en esos casos entraba en la excepción del try catch por cada registro a procesar, por un dato no esperado, y al ser cientos de miles moría ahí, así aprendí a tener cuidado con los try catch.
Soy programador Java (no me odien :'v), desconozco si en C# (me imagino que sí) existe el concepto de Checked and Unchecked Exceptions. Justo como lo mencionas, hay errores que obligatoriamente deben controlarse con bloques try-catch (checked) debido a que se pueden considerar errores externos (un archivo que no existe o está corrupto, una conexión a base de datos muerta o algo parecido), pero para otros errores (unchecked) debería evitarse el uso de bloques try-catch y manejarlos de otra forma, justamente como lo haces al final. Gracias por tus videos, eres un crack
Esto vale más que 1000 videos mostrando temas de vscode (cuando ya has visto 2 o 3 y tienes tu vscode chuleado). Esto es oro puro. La experiencia que se comparte es invaluable.
Me gustaría un vídeo de "buenas prácticas para aplicaciones grandes con altas transacciones" o algo así por el estilo. Por qué he visto varios videos que usan y te dicen que uses try catch a diestra y siniestra. Pero en el momento que trabajas en grandes empresas, estás son cosas que solo tú entiendes por estar allí y vivirlo. Me gustaría que "nos" enseñaras a los programadores más pequeños, por si en algún momento nos miras nuestro código no te salten los ojos y se te suba la presión. Gracias por el conocimiento del día a día. 🎉
Uno de mis profesores siempre nos decía hasta el cansancio que el try catch era solo para eventos que realmente desconocemos y si sabemos que una validación puede fallar o una parte del código puede fallar debíamos manejarlo sin try catch xD la verdad no le hacíamos mucho caso y no me ha pasado algo así, pero ahora viendo tu video lo entiendo mejor, debío ponernos un ejemplo así en vez de solo repetirnos lo mismo tantas veces, muy buen video
Buenisimo comentario, algo que quizas me hubiese gustado que se hubiese hablado en el video. Justamente pensaba eso, si dedicas una capa de abstraccion para el manejo de errores (conocidos) podrias optimizar mucho mas el rendimiento, ya que el try catch se utilizaria solo para casos puntuales.
Que pésima confianza hacia el profesor. Si te dicen las cosas es por una razón, no solo para ser cansino. Da igual si lo mostraba en un ejemplo práctico o no, si te lo repiten por tanto es por algo. Típicos alumnos que se creen más listo que los maestros.
En mi caso, me enseñaron a usar try catch en operaciones como en las que consumes servicios tipo Api calls o operaciones de ORM. Está bien usarlo en esos casos, no?
@@yeicore si, pero no debes dejaro todo al try-catch, si puedes manejar errores comunes es mejor, pero en cuestiones de conectarse a otros recursos nunca sabes si algo va a fallar, puede ser que el servicio responda con algún error y puedes manejar eso, pero también puede que un cable se desconecte xD en dónde más se usan es en aplicaciones para usuarios, dónde metes todos los errores a un log e intentas que el usuario no sufra un cierre de su aplicación, que ya no pueda hacer nada o cosas que lo puedan frustrar cómo estar esperando una petición por mucho tiempo
hacen mucha falta este tipo de videos, CRUD y tutoriales lineales sobre como hacer las cosas hay muchos, pero videos donde se hable de lo que realmente nos encontramos allá afuera no muchos, muchas gracias por compartir tu experiencia, un saludo!
Realmente se agradece mucho que exista este tipo de contenido que no son los clásicos programadores haciendo mercadotecnia vendiendo espejitos haciendo cruds o haciendo copy/paste de lo que les dice chat gpt.
mas videos de este tipo Héctor, tips para mejorar el rendimiento y también casos de uso donde encaje bien alguno de los patrones de diseño que se vio en tu curso, saludos desde Perusalem
Son buenos estos videos. Muchas veces hay errores en el codigo aunque la logica este bien y este tipo de cosas son las que diferencian a un buen programador. Sigue con mas videos asi bro. 👌🏻
Excelente video, aún no me he topado con una situación así pero desde ahora lo tendré en cuenta. Más videos así por favor, estas experiencias valen oro, son cosas que a veces ni piensas hasta que te pasan
al fin alguien habla de esto, todos me trataban de loco cuando se los explicaba, incluso veia desarrolladores que para todo creaban throw y abusaban del try catch y yo les decia "intenta evitar usarlo, por que se pone más lento" y claro, con pocos registros todo funciona bien pero con miles todo se va al carajo, asi que siempre intentar usar todo lo posible dentro de los foreach, for, while, todo lo que te ayude a evitar usra try catch
Sufrí el mismo problema con una solución de software que desarrolle hace tiempo y hasta ahora no entendía el porque sufría bajones de rendimiento, era un proyecto que permitía monitorear direcciones ip de manera constante, y en el código capturaba excepciones, el problema estaba en qué monitoreaba a la vez muchas direcciones y en cada monitoreo usaba try catch, jajajaja ahora que veo tu vídeo caí en cuenta y solo me río de mi error.
Excelente análisis. Hace algún tiempo trabajé en un proyecto donde el rendimiento general de la aplicación era crucial y establecí a mi grupo de trabajo que cada proceso debía ser programado con 3 enfoques diferentes, que luego pasarían por un sencillo test que midiera los tiempos 10.000 iteraciones de cada enfoque. En ese entonces trabajaba con VB6 y llegue a sorprenderme mucho de las diferencias de tiempo que puede existir tan solo cambiando un par de lineas en el código. P.D. Desde entonces adoro las operaciones con número binarios.
muy buenos los video no solo mostras los pro de la programacion sino como se puede cometer un simple error como programador y obviamente no usate la IA
mmmm interesante la verdad... yo acostumbro excepcionar interacciones con base de datos, en el repository básicamente ahora con esto me dejaste meditando jejeje, muchas gracias.
Que bueno el video,. Justamente me encontré con un problema similar en mi trabajo. Me alegra que llegué a pensar esa misma solución para no perjudicar el rendimiento.
eres un crack bro, es importante saber cosas malas que nos pasan en el area, porque nada es perfecto y muchos aprendemos mucho de los errores, ellos son los que nos hacen crecer.
Muy buena explicación. Podrías dar algún ejemplo de como optimizar una lógica como la del primer ejemplo donde efectivamente la necesidad de usar excepciones. Muchas gracias!
Muy buena, super consciso y claramente explicado. En mi empresa no lo he visto aplicado pero lo intentare tener en cuenta por si veo este caso. Abrazo !
Muchas gracias por esta información. Se catchean los errores generales y no los singulares. En relación a estos últimos, es preferible colectarlos y luego gestionarlos.
muy bueno el caso presentado, en mi experiencia me ha tocado estar obligado a agregar un try catch dentro de un ciclo (hay casos en que no queres que termine el ciclo y llamas a una función que no administras que te puede lanzar excepcion) y no veo como mala practica hacer eso. Lo que me hace mucho ruido es lanzar excepciones para casos funcionales normales (o contemplados), a mi punto de vista se llaman excepciones porque son excepciones, intento que no se conviertan en regla. recién veo un video de tu canal me pareció interesante este video saludos!
¡Interesante! En mi caso es común usar try/catch en foreach loops porque a veces hacemos lo que llamamos `retrofits`, comandos para arreglar data antigua o calcular un nuevo valor para todos los registros existentes y debemos llamar algunas o muchas APIs externas en las que el try/catch nos da precisión en qué falló y podemos hacer `error handling` para cada usuario/compañía/modelo, etc. Aunque, para fallos tipo "el formato está mal" sí usamos `if/else statements` que llamamos `sanity checks`, acompañados de `early returns/continues`
Oh sí, aún recuerdo cuando empecé a programar ese error me dió dolores de cabeza, hasta que entendí como funcionaba la excepción; y es que a nivel de gestión el CLR hace como un snapshot del momento de la ejecución, eso sumado a mover al bloque de catch y crear el objeto exception pues es una merma considerable.
¡¡¡Gran video!!! Hace poco le estaba hablando a mi equipo sobre el como las Excepciones afectan al performance :) Como recomendación, evitemos el uso de las Excepciones al menos que sean para casos como su nombre lo indica, casos excepcionales. Existen alternastivas como puede ser Either para poder manejar errores controlados :D
Muy buen video, hace poco en un bootcamp de Python me tocó ver algo similar y resolver situaciones solo a través de técnicas de programación estructurada...
Madre mía, yo utilizo para todo el try catch. Luego me preguntaba porque es lento, tengo una función que me ayuda a aprobar solicitudes y crear ordenes de compra, en ambas tengo un try catch, debo verificar mi código jajaja
Bro, yo te sigo por un software de gimnasio, no había visto que hacias estos vídeos.... Está bien el tip, sobre todo si tu formación academica no estuvo orientada al código hahah
Wow, para mí que no trabajé nunca es muy interesante ver esto del rendimiento, gracias por compartir la experiencia con los que queremos aprender e iniciarnos en este mundo de la progrt
Mis Cursos de Programación: hdeleon.net/cursos-premium/
Que no sirven para nada
Me pasó lo mismo, en el trabajo tenia que hacer la descargar de un archivo, y se colgaba en algunos casos y pude encontrar que era porque en esos casos entraba en la excepción del try catch por cada registro a procesar, por un dato no esperado, y al ser cientos de miles moría ahí, así aprendí a tener cuidado con los try catch.
Como diria mi abuelo: al Try Catch no hay qye tenerle miedo, hay que tenerle respeto
JAJAJAJAJA
Mas que respeto... hay q saber tener en cuenta cuando es necesario utilizarlo..
Al fin un programador que entiende de qué trabaja!!! Felicitaciones!!!
Jajajaja la neta
El mejor comentario 😂
Para programar una IA que acabe con todo?
x2, sabe lo q hace y lo q dice
Soy un desarrollador Sr y no había caído en cuenta sobre esto, excelente el contenido, videos sobre este tipo de situaciones reales son muy útiles.
Lo sigo desde que me salvó en muchas tareas de la Uni y nunca decepciona
Soy programador Java (no me odien :'v), desconozco si en C# (me imagino que sí) existe el concepto de Checked and Unchecked Exceptions. Justo como lo mencionas, hay errores que obligatoriamente deben controlarse con bloques try-catch (checked) debido a que se pueden considerar errores externos (un archivo que no existe o está corrupto, una conexión a base de datos muerta o algo parecido), pero para otros errores (unchecked) debería evitarse el uso de bloques try-catch y manejarlos de otra forma, justamente como lo haces al final.
Gracias por tus videos, eres un crack
Esto vale más que 1000 videos mostrando temas de vscode (cuando ya has visto 2 o 3 y tienes tu vscode chuleado). Esto es oro puro. La experiencia que se comparte es invaluable.
Me gustaría un vídeo de "buenas prácticas para aplicaciones grandes con altas transacciones" o algo así por el estilo. Por qué he visto varios videos que usan y te dicen que uses try catch a diestra y siniestra. Pero en el momento que trabajas en grandes empresas, estás son cosas que solo tú entiendes por estar allí y vivirlo. Me gustaría que "nos" enseñaras a los programadores más pequeños, por si en algún momento nos miras nuestro código no te salten los ojos y se te suba la presión. Gracias por el conocimiento del día a día. 🎉
Los errores son las mejores lecciones que a veces nos pueden pasar, porque así es como se aprende. Gracias por compartir!
Uno de mis profesores siempre nos decía hasta el cansancio que el try catch era solo para eventos que realmente desconocemos y si sabemos que una validación puede fallar o una parte del código puede fallar debíamos manejarlo sin try catch xD la verdad no le hacíamos mucho caso y no me ha pasado algo así, pero ahora viendo tu video lo entiendo mejor, debío ponernos un ejemplo así en vez de solo repetirnos lo mismo tantas veces, muy buen video
Buenisimo comentario, algo que quizas me hubiese gustado que se hubiese hablado en el video. Justamente pensaba eso, si dedicas una capa de abstraccion para el manejo de errores (conocidos) podrias optimizar mucho mas el rendimiento, ya que el try catch se utilizaria solo para casos puntuales.
Que pésima confianza hacia el profesor. Si te dicen las cosas es por una razón, no solo para ser cansino. Da igual si lo mostraba en un ejemplo práctico o no, si te lo repiten por tanto es por algo. Típicos alumnos que se creen más listo que los maestros.
En mi caso, me enseñaron a usar try catch en operaciones como en las que consumes servicios tipo Api calls o operaciones de ORM. Está bien usarlo en esos casos, no?
Los try catch se usan cuando el codigo puede lanzar excepciones PUNTO, abrir un flujo de datos por ejemplo, no es para meter todo el código
@@yeicore si, pero no debes dejaro todo al try-catch, si puedes manejar errores comunes es mejor, pero en cuestiones de conectarse a otros recursos nunca sabes si algo va a fallar, puede ser que el servicio responda con algún error y puedes manejar eso, pero también puede que un cable se desconecte xD en dónde más se usan es en aplicaciones para usuarios, dónde metes todos los errores a un log e intentas que el usuario no sufra un cierre de su aplicación, que ya no pueda hacer nada o cosas que lo puedan frustrar cómo estar esperando una petición por mucho tiempo
Me alegra que compartas estos datos que ayudan a refinar las practicas profesionales, muchísimas gracias!
hacen mucha falta este tipo de videos, CRUD y tutoriales lineales sobre como hacer las cosas hay muchos, pero videos donde se hable de lo que realmente nos encontramos allá afuera no muchos, muchas gracias por compartir tu experiencia, un saludo!
Realmente se agradece mucho que exista este tipo de contenido que no son los clásicos programadores haciendo mercadotecnia vendiendo espejitos haciendo cruds o haciendo copy/paste de lo que les dice chat gpt.
Contenido que no se encuentra tan fácil en cursos, eso me gusta
mas videos de este tipo Héctor, tips para mejorar el rendimiento y también casos de uso donde encaje bien alguno de los patrones de diseño que se vio en tu curso, saludos desde Perusalem
👍videos de programacion ya reales en el mundo laboral no tienen precio
Son buenos estos videos. Muchas veces hay errores en el codigo aunque la logica este bien y este tipo de cosas son las que diferencian a un buen programador. Sigue con mas videos asi bro. 👌🏻
Usted es bueno, Dios me lo bendiga, mis respetos...
Excelente video, aún no me he topado con una situación así pero desde ahora lo tendré en cuenta. Más videos así por favor, estas experiencias valen oro, son cosas que a veces ni piensas hasta que te pasan
al fin alguien habla de esto, todos me trataban de loco cuando se los explicaba, incluso veia desarrolladores que para todo creaban throw y abusaban del try catch y yo les decia "intenta evitar usarlo, por que se pone más lento" y claro, con pocos registros todo funciona bien pero con miles todo se va al carajo, asi que siempre intentar usar todo lo posible dentro de los foreach, for, while, todo lo que te ayude a evitar usra try catch
Buen aporte! Y viva el METAL!
te sigo desde hace 2 semestre y me salvaste la materia de POE la verdad sin ti no seguiria en la uni te hamo power hdeleon
Sufrí el mismo problema con una solución de software que desarrolle hace tiempo y hasta ahora no entendía el porque sufría bajones de rendimiento, era un proyecto que permitía monitorear direcciones ip de manera constante, y en el código capturaba excepciones, el problema estaba en qué monitoreaba a la vez muchas direcciones y en cada monitoreo usaba try catch, jajajaja ahora que veo tu vídeo caí en cuenta y solo me río de mi error.
Excelente contenido como siempre wapo 🤝
Excelente, a tomar en cuenta.
Genial Gran Maese... gran aporte.
Gracias por tu tiempo y excelente manera de explicar.
Bastante ilustrativa la explicación, justo estoy en el tema de manejo de errores y try catch en java y esto me ayuda a tener muy clara su importancia
Oe loco que buen video, sigue así loco nos ayudas bastante🤘
Me encanto este video, esperando los próximos.
Excelente análisis. Hace algún tiempo trabajé en un proyecto donde el rendimiento general de la aplicación era crucial y establecí a mi grupo de trabajo que cada proceso debía ser programado con 3 enfoques diferentes, que luego pasarían por un sencillo test que midiera los tiempos 10.000 iteraciones de cada enfoque. En ese entonces trabajaba con VB6 y llegue a sorprenderme mucho de las diferencias de tiempo que puede existir tan solo cambiando un par de lineas en el código. P.D. Desde entonces adoro las operaciones con número binarios.
muy buenos los video no solo mostras los pro de la programacion sino como se puede cometer un simple error como programador y obviamente no usate la IA
Buena recomendación y útil ! gracias Héctor.
mmmm interesante la verdad... yo acostumbro excepcionar interacciones con base de datos, en el repository básicamente ahora con esto me dejaste meditando jejeje, muchas gracias.
Que bueno el video,. Justamente me encontré con un problema similar en mi trabajo. Me alegra que llegué a pensar esa misma solución para no perjudicar el rendimiento.
Excelente contenido, creo que no siempre te pones a pensar en ese tipo de situaciones hasta que te pasa. Gracias por el consejo 🤘
eres un crack bro, es importante saber cosas malas que nos pasan en el area, porque nada es perfecto y muchos aprendemos mucho de los errores, ellos son los que nos hacen crecer.
Excelente aporte amigo!
Muy buena explicación. Podrías dar algún ejemplo de como optimizar una lógica como la del primer ejemplo donde efectivamente la necesidad de usar excepciones. Muchas gracias!
muy buen video master ahorita ire a corregir mi proyecto que es un web api donde uso mucho try catch dentro de fors
Se agradece hermano 😊
Agradecido con ejemplos como este, para mejorar las prácticas de programación 💪🏽
Muy bueno el video.... Gracias Hector
Saludos desde Cuba hermano. Sigue asi.
Muy buen vídeo! Gracias!
Muy buena, super consciso y claramente explicado. En mi empresa no lo he visto aplicado pero lo intentare tener en cuenta por si veo este caso. Abrazo !
Gracias por compartir!
Un consejo con demostración incluidos. Bastante valioso. Muchas gracias
Me gusto mucho el video. Voy a implementarlo en el proyecto que estoy trabajando, hay muchas cosas como esas.
Excelente, me hizo pensar en varios escenarios en que asi tenfo estructurado el código.
Muchas gracias por esta información. Se catchean los errores generales y no los singulares. En relación a estos últimos, es preferible colectarlos y luego gestionarlos.
Mismo concejo nos dio un profe; gracias por recordármelo capo! Éxitos!
Muchas gracias por este tipo de Tips!
Me caes bien por que eres humilde y reconoces tus errores sin problema. Eso te hace muy buen profesional. Te felicito.
Como siempre, consejos prácticos y de alto nivel.
Buen video colega, sigue adelante!
En mejor intro que ví "tengo unos cursos de programación que no sirven para nada". Todo un crack
La verdad todavía estoy en la carrera pero me imagino que esto hace parte de testeo de errores que vi súper ligero en POO, pero esto es oro puro
¡Gracias por compartir esta valiosa joya de experiencia!
A mi sí me sirvió😊 excelente, gracias
Excelente video... 🤘
Muy útil. Gracias!!
Muy interesante. me gustan estos vídeos cortos, concisos y muy instructivos.
Buenisimo el tip me lo guardo exitos crack
muy bueno el caso presentado, en mi experiencia me ha tocado estar obligado a agregar un try catch dentro de un ciclo (hay casos en que no queres que termine el ciclo y llamas a una función que no administras que te puede lanzar excepcion) y no veo como mala practica hacer eso. Lo que me hace mucho ruido es lanzar excepciones para casos funcionales normales (o contemplados), a mi punto de vista se llaman excepciones porque son excepciones, intento que no se conviertan en regla.
recién veo un video de tu canal me pareció interesante este video saludos!
Amigo siempre me motivas a aprender más , es cosa de ver como explicas y me entran ganas de codear
Buen tip !! que lenguiaje estabas utilizando? el de forms? OMG!!!
Buenísimo!! Saludos
Muchas gracias por esta clase de videos.
¡Interesante!
En mi caso es común usar try/catch en foreach loops porque a veces hacemos lo que llamamos `retrofits`, comandos para arreglar data antigua o calcular un nuevo valor para todos los registros existentes y debemos llamar algunas o muchas APIs externas en las que el try/catch nos da precisión en qué falló y podemos hacer `error handling` para cada usuario/compañía/modelo, etc.
Aunque, para fallos tipo "el formato está mal" sí usamos `if/else statements` que llamamos `sanity checks`, acompañados de `early returns/continues`
Hey, bro bastante bueno, sigo tus videos muy interactivo.
todo un loquillo Héctor, buen video, es hora de refactorizar
Oh sí, aún recuerdo cuando empecé a programar ese error me dió dolores de cabeza, hasta que entendí como funcionaba la excepción; y es que a nivel de gestión el CLR hace como un snapshot del momento de la ejecución, eso sumado a mover al bloque de catch y crear el objeto exception pues es una merma considerable.
Excelente comparación. No sabía que el try_catch consumía tanto tiempo. Hay que tomarlo mucho en cuenta. Gracias
Siempre es bueno aprender de los errores. Mejor aun cuando no son propios. Gracias por compartir!
Que buena data tiraste maestro! Sigue así.
Yo uso try catch casi para todo, ahora tengo que aprender de nuevo
¡¡¡Gran video!!!
Hace poco le estaba hablando a mi equipo sobre el como las Excepciones afectan al performance :)
Como recomendación, evitemos el uso de las Excepciones al menos que sean para casos como su nombre lo indica, casos excepcionales.
Existen alternastivas como puede ser Either para poder manejar errores controlados :D
Siempre trae algo que ayuda en el día a día. Genial!!
Que buen ejemplo de que los requerimientos no estaban bien definidos gracias por tu gran labor
increible, excelente demostracion
Muy buen video, hace poco en un bootcamp de Python me tocó ver algo similar y resolver situaciones solo a través de técnicas de programación estructurada...
buen material bro , gracias
Muy interesante y bien explicado.
Excelente aporte.
excelente video, muy buena tematica la de este video
Madre mía, yo utilizo para todo el try catch. Luego me preguntaba porque es lento, tengo una función que me ayuda a aprobar solicitudes y crear ordenes de compra, en ambas tengo un try catch, debo verificar mi código jajaja
por su pollo mas videos como estos si algun junior pregunta por algo de backend este canal es mi referente
Bro, yo te sigo por un software de gimnasio, no había visto que hacias estos vídeos.... Está bien el tip, sobre todo si tu formación academica no estuvo orientada al código hahah
Buen video, lo tendre en cuenta!!
Guau!!! info. que vale oro, ¡¡gracias!!
Grande, buen tutorial!
Wow, para mí que no trabajé nunca es muy interesante ver esto del rendimiento, gracias por compartir la experiencia con los que queremos aprender e iniciarnos en este mundo de la progrt
Por eso es que mi profesor de orientado a objetos, dijo:
"No abusen del Try - Catch, por que es un código CARO"
Muchas gracias, la información me puede servir para un futuro.
Gracias por la recomendación
excelente , mini curso, gracias por compartir tus experiencia , oye no tienes algo de microservicios 😅
Gracias por el dato, tengo tiempo programando en .Net y no lo sabía
Genial esta info .gracias.
buen video-- gracias por la info--