¿Interesante, no? No solamente tuvimos un mensaje de error claro que nos permite entender qué sucedió, sino que además evitó que se deposite dinero en la cuenta de destino. . ¿Cómo fue esto posible?
La primera versión del código de cuentaOrigen
se veía aproximadamente así:
object cuentaOrigen {
var saldo = 20
method debitar(monto) {
if (monto <= saldo) {
saldo -= monto
}
}
}
Pero la segunda versión se ve así:
object cuentaOrigen {
var saldo = 20
method debitar(monto) {
if (monto > saldo) {
self.error("No se puede debitar, porque el monto $"+monto+" es mayor al saldo $" +saldo)
}
saldo -= monto
}
}
Mediante la sentencia self.error(mensaje)
lo que hicimos fue lanzar una excepción: provocar un error explícito que interrumpe el flujo del programa.
¡Mas despacio cerebrito! Probá enviar
mensajeRaro
aobjetoRaro
(que ya cargamos por vos) en la consola...object objetoRaro { method mensajeRaro() { self.error("foo") return 4 } }
...y pensá: ¿se retorna el 4? ¿Por qué?
Tenés que iniciar sesión antes de empezar a enviar tus soluciones