lib/pq
gói có thể trả về lỗi thuộc loại *pq.Error
, là một cấu trúc. Nếu có, bạn có thể sử dụng tất cả các trường của nó để kiểm tra chi tiết về lỗi.
Đây là cách nó có thể được thực hiện:
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
có các trường sau:
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
}
Ý nghĩa và các giá trị có thể có của các trường này là cụ thể của Postres và bạn có thể tìm thấy danh sách đầy đủ tại đây: Trường Thông báo Lỗi và Thông báo