De lib/pq
pakket kan fouten van het type *pq.Error
retourneren
, wat een structuur is. Als dit het geval is, kunt u alle velden gebruiken om de details van de fout te inspecteren.
Dit is hoe het kan:
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
heeft de volgende velden:
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
}
De betekenis en mogelijke waarden van deze velden zijn Postres-specifiek en de volledige lijst is hier te vinden:Fout- en meldingsberichtvelden