package sqlite3 import ( "strconv" "strings" ) type Error struct { Code ErrorCode ExtendedCode ExtendedErrorCode str string msg string } func (e *Error) Error() string { var b strings.Builder b.WriteString("sqlite3: ") if e.str != "" { b.WriteString(e.str) } else { b.WriteString(strconv.Itoa(int(e.Code))) } if e.msg != "" { b.WriteByte(':') b.WriteByte(' ') b.WriteString(e.msg) } return b.String() } type errorString string func (e errorString) Error() string { return string(e) } const ( oomErr = errorString("sqlite3: out of memory") rangeErr = errorString("sqlite3: index out of range") noNulErr = errorString("sqlite3: missing NUL terminator") noGlobalErr = errorString("sqlite3: could not find global: ") noFuncErr = errorString("sqlite3: could not find function: ") assertErr = errorString("sqlite3: assertion failed") )