-
LecciónTratamiento de errores con rescue
Otra forma más de tratar errores es usar un bloque try-rescue para envolver el código problemático y capturar posibles errores que puedan ocurrir durante su uso para evaluar a expresiones alternativas en caso de error. -
LecciónCómo usar Application
En la máquina BEAM una aplicación consiste en un supervisor y una configuración. El código fuente del paquete compone la aplicación, y la configuración permite parametrizar el comportamiento de la aplicación. -
LecciónCómo crear un Supervisor Tree
Un supervisor es un tipo de proceso que permite controlar automáticamente el ciclo de vida de otros procesos (o GenServers) reiniciándolos automáticamente al detectar un fallo que los tumbe. -
LecciónEjemplo de Application con hijos
Un ejemplo real con la librería Plug de cómo podemos incorporar distintos procesos en el GenServer que debe declararse en una Aplication. Además, por qué hace falta no-halt. -
LecciónTypespecs (parte 1, usando tipos básicos)
Con los type specs se pueden especificar los tipos de los parametros y retornos de las funciones para que herrramientas como Dialyzer puedan analizar de forma estática el código a fin de comprobar que se pasen los parámetros de forma correcta en el código. -
LecciónCómo renombrar procesos
Registrar un nombre en un proceso (o un GenServer, o un Supervisor) tiene ventajas frente a dejarlos anónimos en términos de identificarlos. Además, cómo podemos explorar en el observer información sobre procesos (como su nombre, por ejemplo). -
LecciónAlias e import
Después de escribir este código, vamos a usarlo como base para tratar algunas herramientas útiles que nos ofrece Elixir para controlar el código de nuestros módulos. Alias sirve para darle otro nombre a un módulo y hacerlo más fácil de escribir. Import sirve para traer definiciones de otros módulos y... -
LecciónEstrategias para crear un Supervisor
Finalmente, la diferencia entre start_link/2 y start_link/3 y el uso de init/2 para desacoplar la creación de un Supervisor de la especificación de los procesos supervisados y de las opciones de supervisión. -
LecciónElevando errores con raise
Cuando encontramos una situación anómala en nuestras funciones, podemos interrumpir la evaluación del resto de la función mediante el comando `raise`, que nos permite lanzar hacia fuera un Error que puede ser tratado en otro bloque try-rescue. -
LecciónComportamientos
Los comportamientos es la respuesta de Elixir a la programación por contrato y a la fabricación de interfaces que encontramos en otros lenguajes de programación. Mediante callback y behaviour podemos crear módulos que especifican primitivas que otros módulos deben implementar.