typestar

Errores

15 pasos en 6 series de Go.

Go devuelve los errores como valores y el compilador no te deja olvidar ninguno. La interfaz error, envolver con %w, errors.Is y errors.As, tus propios tipos de error, y defer, panic y recover.

La última serie cubre errores entre goroutines, que es donde la cosa se pone realmente incómoda. Quince pasos, y vas a teclear if err != nil más veces que en cualquier otro tour de este sitio.

Empieza este tour

El error como valor

  • error es una interfazUn método, Error() string — cualquier cosa que lo tenga es un error.
  • ErroresErrores centinela, tipos propios y cómo envolverlos.
  • El retorno tempranoAtiende el error y retorna; el camino feliz queda a una sola sangría.

Envolver errores

  • Envolver con %wfmt.Errorf con %w agrega contexto y deja alcanzable el original.
  • errors.IsComparar contra un centinela a través de cualquier cantidad de envolturas.
  • errors.AsRecuperar el tipo concreto del error, para leer sus campos.
  • errors.JoinVarias fallas a la vez, en un solo valor de error.

Tus propios errores

defer, panic y recover

Errores entre goroutines

Bis

  • retry.goReintentos con backoff, un plazo de contexto y errores que dicen qué pasó.

Los otros tours de Go