驴Qu茅 son los errores ?
Todo software contiene o contendr谩 en algun punto errores. Para el manejo de estos, algunos lenguajes utilizan excepciones, sin embargo Go utiliza un enfoque distinto ya que estos representan un tipo. Esto quiere decir que pueden ser enviados a trav茅s de funciones y m茅todos.
El manejo de errores adecuado es importante para llevar a cabo una programaci贸n adecuada, en la que se pueda confiar, y un c贸digo fuente que se pueda mantener. Si se escriben librer铆as para el uso de terceros, el manejo de errores de forma correcta promueve la confianza de estos.
Cuando se invoca un m茅todo o funci贸n que pueda generar un error, Go retorna este error como 煤ltimo par谩metro posible. Lo que implica que ningun error ser谩 generado si la funci贸n no genera una excepci贸n.
Ejemplo… se desea leer el contenido de un archivo de texto, si existe un error dicho error sera desplegado.
package main
import (
"fmt"
"io/ioutil"
)
func main() {
texto, err := ioutil.ReadFile("archivo.txt")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(texto)
}
Como podemos notar utilizamos ioutil.ReadFile
para intentar leer el archivo. Esta regresa 2 posibles par谩metros, texto y err.
texto, err := ioutil.ReadFile("archivo.txt")
Acto seguido verificamos si la variable err
es diferente de nil
y si es as铆 imprimimos el error (esta es una convenci贸n en Go).
if err != nil {
fmt.Println(err)
return
}
Finalmente si el archivo se pudo leer, imprimimos el contenido de este.
fmt.Println(texto)
Como el archivo no existe, el error se imprimir谩 como salida.
open archivo.txt: no such file or directory