Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/julian-chu/advanced-go-training-homework
https://github.com/julian-chu/advanced-go-training-homework
Last synced: 19 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/julian-chu/advanced-go-training-homework
- Owner: Julian-Chu
- Created: 2021-04-23T17:04:40.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-08-11T19:29:16.000Z (over 3 years ago)
- Last Synced: 2024-11-15T01:06:20.221Z (3 months ago)
- Language: Go
- Size: 247 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# advanced-go-training-homework
## week2
Q: When getting sql.ErrNoRows, should we wrap it and return?
my answer is no, please see comment below.
```go
err := s.db.QueryRow(`select user_id from user where email = $1`, email).Scan(&user.ID)
if err !=nil{
// sql.ErrorNoRows means "user not found" in business logic level.
// don't return sql.ErrorNoRows or it wrapped error because it's not a real database error
// recommend to use custom error for business logic level
if err == sql.ErrNoRows{
return User{}, ErrNotFound
}
return User{}, err
}
return user, nil
```