-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patherror.go
More file actions
40 lines (35 loc) · 717 Bytes
/
Copy patherror.go
File metadata and controls
40 lines (35 loc) · 717 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package main
import "fmt"
type DBError struct {
Code DBCode
}
func (d DBError) Error() string {
var msg string
switch d.Code {
case InvalidStatement:
msg = "Syntax error. Could not parse statement."
case NameTooLong:
msg = "Syntax error. Name too long."
case EmailTooLong:
msg = "Syntax error. Email too long."
case PageFull:
msg = "Page is full now"
case DBFileError:
msg = "DB open file fail"
case RowNotFound:
msg = "Row not found"
case DBWriteFileError:
msg = "Write to db file fail"
}
return fmt.Sprintf("DB error: (%d), %s", d.Code, msg)
}
type DBCode int32
const (
InvalidStatement DBCode = iota
NameTooLong
EmailTooLong
PageFull
DBFileError
RowNotFound
DBWriteFileError
)