let dividendo = NaN
let divisor = NaN
try {
leeDividendo()
leeDivisor()
valida()
const resultado = procesa()
console.log(
"El resultado es:", resultado)
} catch (e) {
console.error(e)
}
function leeDividendo() {
const strDividendo = question(
"Introduce el dividendo: ")
dividendo =
strDividendo === null ?
NaN : parseFloat(strDividendo)
}
function leeDivisor() {
const strDivisor = question(
"Introduce el divisor: ")
divisor = strDivisor === null ?
NaN : parseFloat(strDivisor)
}
function valida() {
/* Debe cumplirse que el dividendo
* sea un número. */
if (isNaN(dividendo))
throw new Error(
"El dividendo debe ser número.")
/* Debe cumplirse que el divisor
* sea un número. */
if (isNaN(divisor))
throw new Error(
"El divisor debe ser número.")
/* Debe cumplirse que el divisor
* sea diferente de 0. */
if (divisor === 0)
throw new Error(
"El divisor no puede ser 0.")
}
function procesa() {
return dividendo / divisor
}