Introducci贸n a los algoritmos

1

驴Qu茅 aprender谩s sobre algoritmos y pensamiento l贸gico?

2

La importancia de entrenar tu pensamiento l贸gico

3

驴Qu茅 entiende una computadora?

4

驴Qu茅 es el sistema binario?

5

Metodolog铆a para construir un algoritmo: requerimientos y proceso mental

Tipos de datos y operadores l贸gicos

6

驴Qu茅 son Bits y Bytes?

7

驴Qu茅 son variables, constantes y tipos de datos?

8

Identifica las variables seg煤n los requerimientos de negocio

9

Strings (texto) y concatenaci贸n

10

N煤meros y operaciones matem谩ticas b谩sicas

11

Operaciones matem谩ticas compuestas: par茅ntesis y orden de evaluaci贸n

12

True y false: booleanos y tablas de la verdad

13

Arrays y funciones sobre arrays

14

驴C贸mo dise帽ar algoritmos con diagramas de flujo?

15

Define el tipo de dato seg煤n los requerimientos de negocio

Estructuras de control

16

If y Else: condicionales y comparaciones para proteger tus algoritmos

17

Switch y Case: condicionales en forma de casos

18

Excepciones y errores: Throw y Try Catch

19

驴Qu茅 es un ciclo? While, For y Do While

20

Diagrama de flujo con condicionales

21

Diagrama de flujo con ciclos

22

Tutorial de algoritmos de programaci贸n

23

Dise帽a algoritmos para resolver problemas de tu vida diaria

Encapsula tu c贸digo en funciones

24

驴Qu茅 es una funci贸n?

25

驴C贸mo desarrollar tu l贸gica de programaci贸n?

26

Modularizaci贸n de c贸digo

27

Flujo de funciones para encapsular algoritmos

28

Nomenclaturas de programaci贸n: camelCase, PascalCase, snake_case

29

驴Qu茅 es recursividad? Funciones que se llaman a s铆 mismas

30

Convierte algoritmos con ciclos a funciones recursivas

31

Resolviendo acertijos

Traduce tus algoritmos a lenguajes de programaci贸n

32

Diferencias entre lenguajes de programaci贸n

33

C贸mo escribir c贸digo en cualquier lenguaje de programaci贸n

34

C贸mo programar en JavaScript, Python y PHP

35

Introducci贸n al ejercicio en JavaScript

36

Programando en JavaScript

37

Introducci贸n al ejercicio en Python

38

Programando en Python

39

Introducci贸n al ejercicio en PHP

40

Programando en PHP

41

C贸mo programar en Java y Lenguaje C

42

Introducci贸n al ejercicio en Java

43

Programando en Java

44

Introducci贸n al ejercicio en C

45

Programando en Lenguaje C

46

Traduce diagramas de flujo a c贸digo en lenguajes de programaci贸n

Conclusiones

47

Pr贸ximos pasos para aprender programaci贸n profesionalmente

A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Excepciones y errores: Throw y Try Catch

18/47
Recursos

Qu茅 son las excepciones

Son eventos anormales que ocurren durante la ejecuci贸n (no funciona como un else).

  • throw: es una herramienta que podemos invocar en cualquier punto nos permite capturar si funciona o no lo que se ejecut贸**.**

  • try ... catch: intenta hacer X, pero, si falla haz Y.

  • finally: sucede despu茅s del try y catch.

Estas estructuras son solo para errores de ejecuci贸n, no de l贸gica.

Aportes 119

Preguntas 20

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

No hay mejor imagen que explique el funcionamiento de un try鈥atch que esta cl谩sica imagen, lo explica todo por s铆 sola y es una excelente filosof铆a de vida:
.

Excepciones y errores: Throw y Try Catch



Debes tener en cuenta al momento de capturar tu errores o cuando vayas a realizar excepciones en tu c贸digo.

Excepciones: Son eventos anormales que ocurren durante la ejecuci贸n (no funciona como un else).

throw : Es una herramienta que podemos invocar en cualquier punto nos permite capturar si funciona o no lo que se ejecut贸**.**

try ... catch Intenta hacer X pero si falla haz Y.

finally Sucede despu茅s del try y catch.

Estas estructuras son solo para errores de ejecuci贸n, no de l贸gica.

Excepci贸n, 驴Qu茅 es? Un error que surge en la ejecuci贸n del c贸digo, no en su l贸gica. Este puede romper el c贸digo, es decir, su ejecuci贸n.

Para que esto no pase, tenemos distintos manejadores de excepciones:

throw Escupe el error pero no para la ejecuci贸n del c贸digo, sino que genera una alternativa.

function getRectArea(width, height) {
  if (isNaN(width) || isNan(height)) {
    throw 'Parameter is not a number!';
  }
}

try catch significa haz x y si falla haz y. Es una herramienta que permite crear un plan b para que el c贸digo no se rompa en caso de que haya alg煤n error en la ejecuci贸n del mismo.
Try ejecuta lo que se tendr铆a que hacer y catch agarra el error para que lo podamos manejar鈥

try {
	console.log(鈥渄ecir hola鈥)
} catch(e) {
	console.log(鈥no pude decir hola鈥)
}

finally se puede usar para hacer una limpieza de recursos. Cerrar un archivo, una conexi贸n, etc. Su uso es opcional, y va en un try catch luego de este 煤ltimo.

try {
	console.log(鈥渄ecir hola鈥)
} catch(e) {
	console.log(鈥no pude decir hola鈥)
} finally {
	console.log(鈥al final todo se ejecut贸 bien鈥)
}

鉁 Una excepci贸n es un error que ocurre en tiempo de ejecuci贸n, es decir cuando esta funcionando.

Como dir铆a el profesor Charles R. Severance en su libro Python para todos, 鈥Puedes pensar en las caracter铆sticas Try y except de Python como una 鈥榩贸liza de seguros鈥 en una secuencia de sentencias鈥. (Y esto aplica para cualquier herramienta que permitan el manejo de excepciones, son p贸lizas de seguro)

Adem谩s, gestionar una excepci贸n con una sentencia Try recibe el nombre de capturar una excepci贸n. En general, capturar una excepci贸n te da la oportunidad de corregir el problema, volver a intentarlo, o al menos, terminar el problema con elegancia.

En los siguientes links pueden encontrar como aplicar excepciones en python
https://www.w3schools.com/python/python_try_except.asp
https://realpython.com/python-exceptions/

Cuano veo los comentarios, siento que hubiera sido importante colocar ejemplos con c贸digo,para personas como yo,que sabemos muy poco de esto.

De la siguiente frase:

鈥淟a depuraci贸n es dos veces m谩s dif铆cil que escribir c贸digo. Por lo tanto, si usted escribe su c贸digo lo mejor que puede, por definici贸n, usted no es lo suficientemente inteligente como para depurar lo que escribi贸.鈥 de Brian Kernighan and P.J. Plauger, The Elements of Programming Style

La aseveraci贸n es: Somos dos veces mas inteligentes al resolver errores que al escribir c贸digo, saludos 馃槂

Excepciones: eventos anormales dentro de la ejecuci贸n. No es una condicional. Estas permiten que el c贸digo no se rompa cuando hay un error y no se ejecuten las l铆neas programadas. Captura el error y es posible continuar con el flujo del algoritmo.
throw: Es posible invocarla en cualquier punto del c贸digo como plan B a un posible error.
try 鈥 catch:* Intenta ejecutar X y si falla ejecutar谩 Y.
finally: Sucede despu茅s del try 鈥 catch, es decir se ejecuta si falla o no.

Try.- Encierra el c贸digo que puede generar uno o m谩s errores.
Catch.- Recibe un par谩metro, en el que recibe el error.
Finally.- Ejecuta esa parte independientemente si este bien o mal.

try{
	// C贸digo que puede estar mal
} catch (/*par谩metro que recibe el error */){
	// Imprime el error 
} finally{
	//Ejecuta el c贸digo independientemente si esta bien o mal
}
# Esto en python
try: # C贸digo que puede estar mal
except /*recibe un par谩metro*/: # Imprime el error 
finally: #Ejecuta el c贸digo independientemente si esta bien o mal

Dejo nuevamente mis apuntes, espero les sirva 馃槂



  1. Invocamos con throw
  2. Abrimos la estructura con el try 鈥渉acer x鈥
  3. Mandamos la condici贸n catch " si x no funciona ejecuta y"
  4. Finalizamos con finally.

Es solo para errores de funcionamiento no de l贸gica, por problemas de backend o frontend, conexi贸n o etc. (un ejemplo puede ser cuando se va tu conexi贸n de internet y aparece el dinosaurio que informa que no tienes conexi贸n)

Funciona para manejar errores de ejecuci贸n no errores de l贸gica, es diferente a un if y else.

Holaa todos les recomiendo ampliamente esta pagina por si no les quedo tan claro ,ademas de que muestran ejemplos 馃槂(https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Control_flow_and_error_handling#expresion_throw)

15. Excepciones y errores: Throw y Try Catch

Podemos usar una estructura llamada try ...catch, y luego sucede el finally.

La naturaleza del throw es 鈥渓anzar鈥 un mensaje cuando un error sucede. Esto se ve m谩s a detalle cuando aprenden el lenguaje de programaci贸n en s铆.

Tambi茅n me gust贸 este ejemplo:

Excepciones:
Son eventos anormales que nos permiten capturar errores de ejecuci贸n (no de l贸gica), evitando que el programa termine abruptamente all铆.

Tipos de excepciones

  • Throw: Puede ser invocado desde cualquier parte del c贸digo generando un nuevo error que es comunicado mediante un mensaje
  • Try/catch: El bloque try intenta ejecutar el c贸digo subsecuente y en caso de encontrar alg煤n error (puede generarse con throw, de hecho esa es su principal funci贸n) salta al bloque catch que ejecuta un bloque de c贸digo alternatibo; podemos a帽adir un bloque finally que se ejecuta independientemente se haya producido un error o no

Ejemplo de excepciones y errores con Python

try:
    a=int(input('Escribe un numero: '))
    b=int(input('Escribe un segundo numero: '))

    print(a+b)
    
except:
    print('驴Estas seguro que es un numero?') 

Aqui un peque帽o ejemplo:

try {
	Aprender sobre la clase y pasar el curso;
	if (tienes problemas con algun concepto y no lo entiendes bien) {
		Practica mucho;
	}
} 
catch (e) {
	Vuelve a intentarlo una y otra vez hasta que lo logres;
}
finally {
	Nunca pares de aprender;
}

todo este capitulo me parevio chino. No entendi nada

Try(se trata de hacer esto){Escribir Buenas}catch(variable_error){Escribir Ah pues como que no hay saludo pa ti}finally{No pero tranqui, all谩 onde nacho dem谩s que si, vaya a ver}

en el minuto 4:15 del video se escucha el llanto de un beb茅, que lindo, soy mam谩 y no puedo evitar tener este tipo de percepciones 馃槈

Hice una version en ingles de la imagen del primer comentario.

throw es una herramienta que podemos invocarla en cualquier parte del c贸digo como un plan B ante un error.

En este ejemplo se hace uso de throw cuando este c贸digo recibe un n煤mero de mes no v谩lido:

function ExceptionUsuario(mensaje) {
   this.mensaje = mensaje;
   this.nombre = "ExceptionUsuario";
}

function getNombreMes(mes) {
   mes = mes - 1; // Ajustar el n煤mero de mes al 铆ndice del arreglo (1 = Ene, 12 = Dic)
   var meses = new Array("Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul",
      "Ago", "Sep", "Oct", "Nov", "Dic");
   if (meses[mes] != null) {
      return meses[mes];
   } else {
      miExcepcionUsuario = new ExceptionUsuario("NumeroMesNoValido");
      throw miExcepcionUsuario; 
   }
}

Como vemos, en la parte final es donde se usa throw para pedirle que devuelva el valor previamente definido, dado que el n煤mero de mes ingresado no fue v谩lido.

Interesante, esta estructura de control unicamente la he trabajado en C# y en JS. Desconozco en que otros lenguajes esta disponible pero en C# me daba mas probelmas que ayuda. En cambio en JS si es bastante util a la hora de trabajar con tareas asincronas.

<code>

-- Sintaxis 
try {
   try_statements
}
[catch (exception_var_1 if condition_1) { // non-standard
   catch_statements_1
}]
...
[catch (exception_var_2) {
   catch_statements_2
}]
[finally {
   finally_statements
}]

Podemos invocar a Throw en cualquier momento de nuestro c贸digo y sirve para capturar el error de un bloque de c贸digo que anteriormente se ejecut贸. Si hubo un error, throw ayudar谩 a crear una alternativa

Parece ser una gran herramienta para resolver bugs en el c贸digo.

Hice un ejemplo muy sencillo de como funciona el try/catch en javascript

try/catch

Me hubise gustado que de un ejemplo en codigo no en una imagen , para personas que recien arrancan en la programacion puedan entenderlo.
Ejemplo el throw que es una herramienta que serciora si el anterior codigo se ejecuto o no.
Como lo hago?
donde lo pongo?

隆Todo va a estar bien!

馃挌"Sigamos que se puede"馃挌

Estar铆a bien que hubieran ejercicios pr谩cticos para ir implementando lo aprendido en cada clase, ya que se me hace que es demasiado te贸rico.
En mi opini贸n, con la utilizaci贸n de lo aprendido de forma pr谩ctica lo asentar铆amos y lo interiorar铆amos mucho mejor.
Gracias Platzi y Ana por el contenido 鉂わ笍

Soy el 煤nico que en el 4:25 escuch贸 algo extra帽o?

Un buen apunte:

El bloque try ejecutar谩 un c贸digo sensible que puede generar excepciones
El bloque catch se usar谩 siempre que se arroje una excepci贸n (del tipo capturado) en el bloque try
El bloque finally se llama en cada caso despu茅s de los bloques try/catch.

Incluso si no se detecta la excepci贸n o si sus bloques anteriores rompen el flujo de ejecuci贸n.
La palabra clave throw le permitir谩 lanzar una excepci贸n (que interrumpir谩 el flujo de ejecuci贸n y puede quedar atrapada en un bloque catch).

La palabra clave** throws** en el prototipo del m茅todo se usa para especificar que su m茅todo podr铆a arrojar excepciones del tipo especificado. Es 煤til cuando ha marcado una excepci贸n (excepci贸n que tiene que manejar) que no desea detectar en su m茅todo actual.

Excepciones: Evento anormal que ocurre durante la ejecuci贸n de un proceso.
Para evaluar la excepci贸n podemos utilizar *throw e invocar desde el punto deseado.
Tambi茅n podemos apoyarnos de la estructura try 鈥 catch que tiene una particularidad, ya que se basa en manejo de ejecuci贸n del error, pero adem谩s nos indica tambi茅n, qu茅 podemos continuar haciendo al final/finally.

Recuerda que la excepci贸n es de ejecuci贸n y no es de l贸gica, debido a que ese error (osea la excepci贸n) no lo configuramos nosotros.

El manejo de excepciones es realmente 煤til evitando las roturas criticas por temas menores. algo que agrega usabilidad y estabilidad a los sistemas.

Excepciones: eventos anormales

throw : herramienta que podemos invocar en cualquier punto nos permite capturar si funciona o no lo que se ejecut贸

try 鈥 catch Intenta hacer X pero si falla haz Y.

finally Sucede despu茅s del try y catch.

Estas estructuras son solo para errores de ejecuci贸n, no de l贸gica.

Una excepci贸n es cuando el programa presenta un error, por conexi贸n la funci贸n throw captura lo anterior y verifica si funciono de tal manera que no vaya haber un ruptura de codigo. Try catch hace ejecuci贸n de error y determina que se puede seguir haciendo. Finally se ejecuta despu茅s de throw y try catch.

Tenemos Try and Catch, que como su nombre en ingl茅s indica, se refiere a intentar algo, luego si eso no sale, se intenta lo otro. Es importante saber que el catch es una especie de throw

Excepciones y errores: Throw y Try Catch
Nos permiten manejar errores de funcionamiento pero no errores de l贸gica.

es una excelente explicaci贸n 馃檶 hab铆a intentado buscarla hace alg煤n tiempo, pero no la entend铆a del todo, muchas gracias 馃槉

Throw

Se utiliza para capturar un excepci贸n durante la ejecuci贸n de un programa.

Se puede utilizar throw en el bloque catch para volver a producir la excepci贸n, la cual a sido capturada por la instrucci贸n catch.

Como siempre, try鈥atch ser谩 algo sumamente importante para utilizar cuando quieres controlar ciertas partes del c贸digo de manera m谩s segura.

Es una clase breve pero compleja

Pero tanto el comando Throw y la estructura Try Catch son para manejar errores de funcionalidad no de logica

De funcionalidad serian errores como si hay algo mal en el hardware, el sistema operativo, conectividad etc, son problemas externos al programa

De l贸gica son errores mismos de la estructura del algoritmo de tu programa

Comparto mis apuntes de la clase. Espero haber definido correctamente el t茅rmino de Throw 馃槄.
.

An Example of try and catch handling error with python.

try:
# Write normal code here. This block must include
# code that falls into two groups:
# 1. Code that may cause an exception to be raised
# 2. Code that depends on the results from the code
# in the first group
except ZeroDivisionError as zero_div_err:
# Code that the computer executes if the code in the
# try block caused a ZeroDivisionError to be raised.
except ValueError as val_err:
# Code that the computer executes if the code in
# the try block caused a ValueError to be raised.
except (TypeError, KeyError, IndexError) as error:
# Code that the computer executes if the code in the try
# block raised a TypeError, KeyError, or IndexError.
except Exception as excep:
# Code that the computer executes if the code in the
# try block caused any exception to be raised that was
# not handled by one of the previous except blocks.
except:
# Code that the computer executes if the code in the
# try block caused anything to be raised that was
# not handled by one of the previous except blocks.
else:
# Code that the computer executes after the code
# in the try block if the code in the try block
# did not raise any exceptions.
finally:
# Code that is executed after all the other code in
# try, except, and else blocks regardless of whether
# an exception was raised or not.

excepciones o errores
eventos anormales durante la ejecuci贸n
Throw errores de ejecuci贸n
Try鈥atch intenta hacer x pero si falla haz y
finally

Las Excepciones es un evento anormal que ocurre durante la ejecuci贸n, tambi茅n se podr铆a decir que es un error durante la ejecuci贸n.

  • Podemos invocar la instrucci贸n throw para ejecutar una excepci贸n en nuestro programa.
  • Podemos usar try 鈥 catch para intentar ejecutar un c贸digo y si falla u ocurre un error ejecuta un c贸digo alternativo.
  • Podemos utilizar finally que nos permitir谩 ejecutar un c贸digo despu茅s de la instrucci贸n de try-catch.
    By Ssimor

Bueno , aca un aporte mio usando try y except en Python 馃槂

print("Bienvenido soy el auxiliar de compras, y llevare la cuentas de tus compras")


suma=0

while True:
  monto= (input("Por favor ingresa el monto de la compra $ "))
  
  try:
    monto=int(monto)
    
    if monto > 0:
      suma += monto
      print("Su compra va en $ " , suma)
      print("Si quiere terminar presione 0")
      
    elif monto == 0:
      break

  except:
    print("Parametro invalido")
    print("Si quiere terminar presione 0")
    
if suma < 100000:
  print("Su compra es de $" ,suma)
  
else:
  print("Tu compra es mayor de $100.000 por lo tanto tienes un descuento de 10%")
  total= int(suma-(suma*0.1))
  print("Asi que en total pagaras $" ,total )

esta mujer va muy rapido y su pedagogia es mala.

uff no conoc铆a esas otras estructuras super bueno.

Gran clase

<throw

//Excepciones = eventos ANORMALES que ocurren durante la ejecucion.
//No funcionan como un ELSE.
//Nos permiten capturar cuando el CODIGO no se ejecuto a nivel FUNCIONAL (no logico)

//throw = si necesitamos capturar si lo que se ejecuto funciono o no, y en tal caso nos lanzara una excepcion que nos dira que algo sucede.
//En caso de que exista cualquier problema, el codigo no se rompa (gracias al throw)




//Try ... catch
//"Intenta hacer X pero si falla haz Y"

try {
	Decir hola} catch(e){
		Ups no pude decir hola} finally{
			隆Todo va a estar bien!
		}

//Try (intenta, en ingles) decir hola. Ergo "Intenta decir hola"
//Catch (atrapa, en ingles) Ups no pude decir hola. Recuerdalo como un "ATRAPA esta respuesta, en caso de que haya salido mal"
//finally (finalmente, en ingles) mensaje final al lector. "TODO VA A ESTAR BIEN"> 

Creo que como muchos, cuando tratamos de hacer condicionales nos aferramos a If/else y no tenemos en cuenta los dem谩s

<prueba titulo>

try{ 
Si tienes dudas, repasa la clase.
} catch (e) { 
Aun no queda claro.
} finally {
Descansa y trata al otro d铆a, as铆 es mejor.
}

<code>

try{ 
Si tienes dudas, repasa la clase.
} catch (e) { 
Aun no queda claro.
} finally {
Descansa y trata al otro d铆a, as铆 es mejor.
}


Excelente explicaci贸n, a pesar de que llevo algunos a帽os estudiando programaci贸n no recordaba el verdadero significado de las excepciones.

Ok, por lo que entendi, el throw, try catch y finally funcionan para ver los problrmas en el codigo que estamos ejecutando y el if/else funcionan para solucionar los problemas en si, es decir, los problemas reales.

  • Excepciones
    -Son eventos anormales que ocurren durante la ejecuci贸n, no es, ni funciona como un else no es un caso de 鈥渟i no鈥 como si estuvieras trabajando con una sentencia if, no es a nivel logico, si no nivel funcional, en el caso de que haya ocurrido un error o una falla para no perder todo el trabajo lo que hace la excepci贸n es ayudar a que no se corte el flujo de trabajo si no que hace una pausa, capturamos el error y continuamos con nuestro flujo normal de trabajo.
  • throw: es una herramienta que podemos invocar en el punto que deseemos y que necesitemos capturar; si lo que se ejecuto anteriormente funciono o no; en caso tal nos va a lanzar una excepci贸n que nos dir谩 que algo sucedio y hay que tomar una desici贸n, est茅 lo podemos tener siempre bajo nuestro control y tener un plan B en nuestro algoritmo; esto har铆a que si una parte de la ejecuci贸n no funcione, en vez de deterner el flujo de trabajo lo que hara es mostrarle ese mensaje a los usuarios y no detener ni perder el flujo normal de la aplicaci贸n
  • Try鈥atch tambien podemos usar este excepci贸n que en un caso de que falle una, muestre la otra sin detener el flujo normal de trabajo
    ejemplo: Intenta hacer X pero si falla haz Y, esto es unicamente para fallos de ejecuci贸n y no de l贸gica
  • finally: es lo que sucede despu茅s del try y cash, este se ejecutara al final de nuestro codigo sin importar si se haya realizado la ejecuci贸n o no.
try {
  Decir hola
   }  catch(e)  {
      Ups, no pude decir hola :(
   }  finally  {
      隆Todo va a estar bien!
}

Buena clase, interesante esto de las excepciones.

throw es una herramienta que se puede invocar en cualquier punto en que necesitemos capturar si lo ejecutado anteriormente funcion贸 o no, ese caso, lanzar谩 una excepci贸n avisando qu茅 pas贸

Try 鈥 catch "intenta hacer X (c贸digo normal) pero si falla haz Y (forma para manejar el problema de ejecuci贸n),
finally, se ejecuta independiente de try catch y de lo que se haya hecho

CLASE 18 - EXCEPCIONES Y ERRORES

EXCEPCIONES

  • Son eventos anormales que ocurren durante la ejecuci贸n.

  • No confundir con ELSE. Funcionan muy diferentes.

  • Por su naturaleza nos permite capturar errores cuando una parte de nuestro c贸digo no se ejecuta, continuando este una vez hecha la captura.

THROW

  • Se invoca en cualquier momento, que nos permitir谩 conocer si lo ejecutado funciono o no a lo esperado con apoyo de Excepciones para conocer el error en caso de existir.

TRY. . . CATCH

  • Intenta hacer X pero si falla haz Y.

  • Maneja todo el proceso de la ejecuci贸n del error y al final no indica que podemos continuar haciendo.

  • Nos sirve para controlar problemas de ejecuci贸n, NO de l贸gica.

FINALLY

  • Indica lo que debe de suceder despu茅s del TRY y CATCH.

Excepciones: Son eventos anormales que ocurre durante la ejecucion
NO ES UN ELSE. NO FUNCIONA COMO UN ELSE

THROW: LO PODEMOS USAR CUANDO QUERAMOS, Y ES PARA SABER SI LO QUE
EJECTUAMOSFUNCIONO O NO, Y SI FUNCIONA, LANZA UNA EXEPECION PARA TOMAR
UNA DECISION

TRY鈥ATCH: MANEJA LA EJECUCCION DEL ERROR Y TE DA ALTERNATIVAS
PARA SEGUIR INTENTANDO O QUE OTRA COSA PUEDES HACER

EJ. INTENTA HACER X PERO SI FALLA HAZ Y ES COMO SI FUERA UN PLAN A Y B

FINALLY: SE EJECUTA AL FINAL DEL TRY鈥ATCH NO PASA NADA SI EL
CODIGO TUVO UN ERROR O NO

-Gianluca Reyes Cisneros

Una exepcion es un error que puede surgir durante la ejecuccion de nuestro codigo y ahi es donde entran nuestras estructuras de control,

Throw : podemos usarlo donde deseamos y es muy util nos permitira lanzar un error para poder controlar por si puede haber posibles errores, como cuando escribes mal tu correo, lanzo uso un Throw para que podamos controlar por si ingresamos mal nuestro correo y pueda seguir la ejecucion;

Try
{
Intenta ejecutar este codigo
}
catch(e)
{
Entra aqui si se produjo un error
y ejecuta lo que esta qui
}
finally
{
Yo me ejcutare siempre, aun que no haya un error y si lo haya
}

Buena clase!

try {
     hacer bien un codigo
} catch (e) { 
      no se pudo hacer el codigo
} finally { 
       lo  voy a seguir intentando
}	

Throw- Es una herramienta que nos revisa el c贸digo ejecutado, con la finalidad que no tengo ning煤n error, ya que de lo contrario nos indicaria una excepci贸n, establecida por el programador, por si algo no llegara a funcionar.

Try - ejecutar谩 un c贸digo sensible, que puede generar excepciones, es decir que invocara toda aquella linea o funcion, que tenga una excepcion predeterminada, para que despu茅s el catch efectue la funcion que retenga, si encuentra el error establecido.

Catch - captura la excepcion y manda un error si es que este se cumple.

Finally ejecuta de todas formas aun si haya excepsiones o no

Cual seria la diferencia entre el Try - Catch y If - Else
?

Este punto es important铆simo, muchos programadores NO acostumbran a usar esta estructura y eso es malo, porque tal cual como dice la instructora, es una mala practicar estas instrucciones de control de errores

Las excepciones son eventos anormales que ocurren durante la ejecuci贸n

El ejemplo mas claro de una excepcion es cuando por ejemplo en una aplicacion se pide que se ingrese un int, pero se ingresa un String, ahi actua el try/catch para saber como actuar en este caso

Bueno, desarroll茅 un ejemplo de la vida real utilizando las excepciones y errores:

<code> 
try{
	Reiniciar el dispositivo, si la cantidad de RAM es excedida
} Catch(e){
	Reinicio cancelado, ya que el S.O. debe restaurar la cantidad de RAM.
} finally {
	prinft("Espere un momento, mientras restaruamos las aplicaciones")
}

Se me hacia dif铆cil entender estos dos concepto, gracias !

Estructura de try...catch

Si deseas entender mejor Try/Catch y porque es diferente a las otras estructuras de control

Imagina que estas en un auto, girar el volante, cambiar las velocidades y los pedales son opciones que tienes a disposici贸n para conducir, todas esas opciones son parte del funcionamiento normal del auto

Pero si pasara un accidente se liberara la bolsa de aire ese es el Try/Catch

Me cost贸 entenderle a la primera, pero tambi茅n este video me ayud贸 mucho. Est谩 en Java, pero explica muy bien el funcionamiento de Try Catch https://www.youtube.com/watch?v=iFcVmezVw84&ab_channel=cajametal

interesante, nos sirve para manejar errores de ejecuci贸n pero no errores de l贸gica, es diferente a un if y else.

Gracias!

try {
decir hola
} catch(e) {
Ups, no pude decir hola 馃槮
} Finally {
隆Todo va a estar bien JC!
}

Debes tener en cuenta al momento de capturar tu errores o cuando vayas a realizar excepciones en tu c贸digo.
Excepciones: Son eventos anormales que ocurren durante la ejecuci贸n (no funciona como un else).
throw : Es una herramienta que podemos invocar en cualquier punto nos permite capturar si funciona o no lo que se ejecut贸**.**
try 鈥 catch Intenta hacer X pero si falla haz Y.
finally Sucede despu茅s del try y catch.
Estas estructuras son solo para errores de ejecuci贸n, no de l贸gica.

Excepciones y errores: Throw y Try Catch
Son eventos anormales que ocurren durante la ejecuci贸n, no es una ejecuci贸n como tal de una parte del codigo, permiten capturar cuando el codigo no se ejecuta a nivel l贸gico
Throw
Se puede invocar cuando se necesite para capturar si lo que se ejecuto anteriormente funciono o no y en caso tal que lanza una excepci贸n de algo que sucedi贸 y toqu茅 tomar una decisi贸n en base a eso, en caso de que haya alg煤n problema no se rompa y se tenga algo totalmente destrozado y que se lanza un mensaje de que las cosas van a salir bien.

La herramienta try catch hace el manejo de la ejecuci贸n del error y ademas al final indica que podemos continuar haciendo

Finally
Se va a ejecutar despu茅s del try it y el catch independientemente de lo que haya sucedido, si hubo un error el c贸digo se ejecuto perfectamente y esto sucede al final

馃搶 Las excepciones no son 鈥渆lse鈥 No funcionan asi

Esta p谩gina tiene informaci贸n que puede ayudar a comprender el tema:
https://objetosweb.wordpress.com/tag/throw/

Sirven para resolver problemas imprevistos durante la ejecuci贸n y no por l贸gica (la estructura del c贸digo, per se).

Definici贸n de "Try ... catch"

Definici贸n de "Throw"

TRY

El juego del dinosaurio de google podria ser un ejemplo de esto鈥

Cre铆 que Try Catch funcionaba solo para javascript鈥

Las excepciones son eventos anormales que ocurren durante la ejecuci贸n

Lo que se debe escribir en try es lo que debe suceder dentro de nuestro algoritmo.

Throw y Try Catch
"Errores de funcionamiento pero no de l贸gica"

Diapositiva 3 - Try Catch

A la hora de realizar c贸digo, pueden suceder Excepciones, es necesario tener una soluci贸n en caso en que ocurran