-
Notifications
You must be signed in to change notification settings - Fork 0
/
errorServidorBD.go
45 lines (38 loc) · 1.34 KB
/
errorServidorBD.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package errores
import "fmt"
// errorServidorBD (http 500) es un error utilizado para registrar errores
// de bases de datos del aplicativo.
type errorServidorBD struct {
errorEnvoltorio
}
// crearErrorServidorBDf crea un error de tipo 'errorServidorBD'.
func crearErrorServidorBDf(anterior error, formato string, args ...interface{}) *errorServidorBD {
err := &errorServidorBD{
errorEnvoltorio{
origen: &errorServidorBD{errorEnvoltorio{mensaje: fmt.Sprintf(formato, args...)}},
anterior: anterior,
mensaje: fmt.Sprintf(formato, args...),
},
}
err.establecerUbicacion(2)
return err
}
// NuevoErrorServidorBD crea un nuevo error de tipo 'errorServidorBD' con formato.
func NuevoErrorServidorBD(err error, formato string, args ...interface{}) error {
return crearErrorServidorBDf(err, formato, args...)
}
// EnvolverEnErrorServidorBD crea un error de tipo 'errorServidorDB' con
// formato y envuelve el error anterior dentro de este.
// func EnvolverEnErrorServidorBD(err error, formato string, args ...interface{}) error {
// if err == nil {
// return nil
// }
// return crearErrorServidorBDf(err, formato, args...)
// }
// EsErrorServidorBD devuelve el resultado de conocer si el error es de tipo
// 'errorServidorBD'.
func EsErrorServidorBD(err error) bool {
origen := obtenerOrigen(err)
_, ok := origen.(*errorServidorBD)
return ok
}