Manejo de errores en el idioma Go

    Un error se refiere a una situación anormal en el programa, que hace que el programa no se ejecute normalmente.

Descripción general del manejo de errores

  • No hay intento ... atrapar en Go
  • Go language proporciona un mecanismo de manejo de errores muy simple a través de tipos de error incorporados;
  • El valor de error puede almacenarse en una variable y ser devuelto por una función;
  • Si una función o método devuelve un error, por convención, debe ser el último valor devuelto por la función;
  • La forma idiomática de manejar los errores es comparar el error devuelto con nil;
  • Un valor nulo significa que no ocurrió ningún error, y un valor que no sea nulo significa que ocurrió un error;
  • Si no es nulo, imprima el error.

La naturaleza del error

  • El error es esencialmente un tipo de interfaz, que contiene un método Error ().
    tipo error interfaz { Error () cadena }

  • Cualquier tipo que implemente esta interfaz se puede utilizar como error. Este método proporciona una descripción de Go error handling-error.

Cómo crear un objeto de error

1. La función New () del paquete de errores devuelve un objeto de error.

  • Crea un nuevo error a través de errors.New ().
package errors
// New returns an error that formats as the given text.
func New(text string) error {
   return &errorString{text}
}
// errorString is a trivial implementation of error.
type errorString struct {
   s string
}
func (e *errorString) Error() string {
   return e.s
}

2. La función Errorf () del paquete fmt devuelve un objeto de error.

  • La función Errorf () en el paquete fmt esencialmente llama a los errores.
// Errorf formats according to a format specifier and returns the string
// as a value that satisfies error.
func Errorf(format string, a ...interface{}) error {
	return errors.New(Sprintf(format, a...))
}

3. Crea un error personalizado

Los pasos de implementación son los siguientes:

  • 1. Definir una estructura para indicar el tipo de error autodefinido;
  • 2. El método para hacer que el tipo de error personalizado se dé cuenta de la interfaz de error: Cadena de error ()
  • 3. Defina una función que devuelva error. Depende de la función real del programa.

El caso es el siguiente:
//myError.go



El efecto es el siguiente:

Figura (1) Mecanismo de manejo de errores personalizado

Supongo que te gusta

Origin blog.csdn.net/sanqima/article/details/108908579
Recomendado
Clasificación