Skip to content

Instantly share code, notes, and snippets.

@M-Gonzalo
Created June 2, 2022 02:42
Show Gist options
  • Save M-Gonzalo/52ac276685006fe204836524e227757f to your computer and use it in GitHub Desktop.
Save M-Gonzalo/52ac276685006fe204836524e227757f to your computer and use it in GitHub Desktop.
How to handle the absence of an expected param on a Javascript function
// ###########################################################################################
const noParams = () => { // Función auxiliar que maneja la ausencia de parámetros
// Tenemos que determinar el nombre de la función que nos está llamando.
// Este se encuentra en el trazado de pila, tercera línea, segunda palabra.
const parentFunc = new Error().stack.split('\n')[2].trimStart().split(' ')[1]
throw new Error(`Function "${parentFunc}" must be called with a parameter`)
}
// ###########################################################################################
// Función de testeo:
const myFunc = (param = noParams()) => { console.log(param) }
// Esto funciona gracias a que le podemos asignar un valor
// predeterminado a un parámetro, en este caso, la función noParams ejecutada.
// ###########################################################################################
myFunc('This one is working...') // Pero no debemos confiarnos, lo correcto es hacer esto:
// Como la falta de parámetros va a desencadenar un error,
// necesitamos una función que lo capture para que no colapse la aplicación.
try {
myFunc()
} catch (error) {
console.log(error.message)
}
// ###########################################################################################
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment