Le lib/pq
package peut renvoyer des erreurs de type *pq.Error
, qui est une structure. Si c'est le cas, vous pouvez utiliser tous ses champs pour inspecter les détails de l'erreur.
Voici comment cela peut être fait :
if err, ok := err.(*pq.Error); ok {
// Here err is of type *pq.Error, you may inspect all its fields, e.g.:
fmt.Println("pq error:", err.Code.Name())
}
pq.Error
contient les champs suivants :
type Error struct {
Severity string
Code ErrorCode
Message string
Detail string
Hint string
Position string
InternalPosition string
InternalQuery string
Where string
Schema string
Table string
Column string
DataTypeName string
Constraint string
File string
Line string
Routine string
}
La signification et les valeurs possibles de ces champs sont spécifiques à Postres et la liste complète peut être trouvée ici :Champs des messages d'erreur et d'avis