lib/pq
パッケージは、タイプ *pq.Error
のエラーを返す場合があります。
、これは構造体です。含まれている場合は、そのすべてのフィールドを使用して、エラーの詳細を調べることができます。
これがその方法です:
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
次のフィールドがあります:
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
}
これらのフィールドの意味と可能な値はPostres固有であり、完全なリストは次の場所にあります:エラーおよび通知メッセージフィールド