Ir errores Nueva función: crear tipo de error

Tabla de contenido

descripción

Sintaxis y parámetros

valor de retorno

Ejemplo de uso

Precauciones

Valor de error

Especificación de descripción de texto de error


 

descripción

La función errors.New () devuelve un tipo de error basado en la cadena entrante.

 

Sintaxis y parámetros

Necesidad de importar errores de paquetes nativos de Go

import errors

Firma de función: 

func New(text string) error
nombre sentido
texto Una cadena que describe el mensaje de error.

 

valor de retorno

La función errors.New () devuelve un tipo de error.

 

Ejemplo de uso

Como se muestra en el siguiente código, defina una división de función, si número2 es 0, se devuelve un error, lo que indica que el divisor es 0.

func division(number1, number2 int) (float64, error) {
	if number2 == 0 {
		return 0.0, errors.New("division by zero")
	}
	
	return float64(number1) / float64(number2), nil
}

 

Precauciones

Valor de error

Incluso si el texto es el mismo, cada llamada a la función errors.New () devolverá un valor de error diferente. Por lo tanto, el tipo de error no se puede comparar directamente.

package main

import (
	"errors"
	"fmt"
)

func main() {
	err1 := errors.New("division by zero")
	err2 := errors.New("division by zero")
	err3 := errors.New("unknown error")

	fmt.Println(err1 == err2) // false
	fmt.Println(err1 == err3) // false

	fmt.Println(err1.Error() == err2.Error()) // true
	fmt.Println(err1.Error() == err3.Error()) // false
}

 

Especificación de descripción de texto de error

La cadena de error no debe escribirse en mayúscula ni terminar con un signo de puntuación. Sin embargo, incluso si la cadena se pasa en contra de esta especificación, Go no informará de un error.

Supongo que te gusta

Origin blog.csdn.net/TCatTime/article/details/110343132
Recomendado
Clasificación