lib/pq
pakken kan returnere fejl af typen *pq.Error
, som er en struct. Hvis det gør det, kan du bruge alle dets felter til at inspicere for detaljer om fejlen.
Sådan kan det gøres:
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
har følgende felter:
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
}
Betydningen og de mulige værdier af disse felter er Postres-specifikke, og den fulde liste kan findes her:Fejl- og meddelelsesfelter