Skip to Main Content
Aprender Go, 2ª Edición
book

Aprender Go, 2ª Edición

by Jon Bodner
August 2024
Intermediate to advanced content levelIntermediate to advanced
494 pages
13h 30m
Spanish
O'Reilly Media, Inc.
Book available
Content preview from Aprender Go, 2ª Edición

Capítulo 9. Errores

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

La gestión de errores es uno de los mayores retos para los desarrolladores que se pasan a Go desde otros lenguajes. Para los que están acostumbrados a las excepciones, el enfoque de Go parece anacrónico. Pero en Go subyacen sólidos principios de ingeniería de software. En este capítulo, aprenderás a trabajar con errores en Go. También echarás un vistazo a panic y recover, el sistema de Go para tratar los errores que deben detener la ejecución.

Cómo gestionar los errores: Lo básico

Como se explicó brevemente en el Capítulo 5, Go gestiona los errores devolviendo un valor del tipo error como último valor de retorno de una función. Esto es totalmente por convención, pero es una convención tan fuerte que nunca debería incumplirse. Cuando una función se ejecuta según lo esperado, se devuelve nil para el parámetro de error. Si algo va mal, se devuelve un valor de error. La función que llama comprueba entonces el valor de error devuelto comparándolo con nil, gestionando el error o devolviendo un error propio. Una función sencilla con tratamiento de errores tiene el siguiente aspecto:

func calcRemainderAndMod(numerator, denominator int) (int, int, error) {
    if denominator == 0 {
        return 0, 0, errors.New("denominator is 0")
    }
    return numerator / denominator, numerator % denominator, nil
}

Se crea un nuevo error a partir de una cadena llamando a la ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Herramientas DevOps para desarrolladores Java

Herramientas DevOps para desarrolladores Java

Stephen Chin, Melissa McKay, Ixchel Ruiz, Baruch Sadogursky
Q# Pocket Guide

Q# Pocket Guide

Mariia Mykhailova

Publisher Resources

ISBN: 9781098180157Supplemental Content