Der lib/pq
Paket kann Fehler des Typs *pq.Error
zurückgeben
, was eine Struktur ist. Wenn dies der Fall ist, können Sie alle seine Felder verwenden, um nach Einzelheiten des Fehlers zu suchen.
So kann es gemacht werden:
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
hat die folgenden Felder:
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
}
Die Bedeutung und möglichen Werte dieser Felder sind Postres-spezifisch und die vollständige Liste finden Sie hier:Felder für Fehler- und Hinweismeldungen