lib/pq
balíček může vracet chyby typu *pq.Error
, což je struktura. Pokud ano, můžete použít všechna jeho pole ke kontrole podrobností o chybě.
Lze to udělat takto:
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
má následující pole:
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
}
Význam a možné hodnoty těchto polí jsou specifické pro Postres a úplný seznam lze nalézt zde:Pole chybových zpráv a zpráv