Handle misssed errors for encoding and decoding feeds
This commit is contained in:
@ -26,27 +26,32 @@ func NewFeed(title, link, desc string) *Feed {
|
||||
func SaveFeed(feed *Feed, filename string) error {
|
||||
file, err := os.Create(filename)
|
||||
if err != nil {
|
||||
return fmt.Errorf("error cmd/feed/rss.go WriteFeed os.Create(): %v", err)
|
||||
return fmt.Errorf("error cmd/feed/rss.go SaveFeed os.Create(): %v", err)
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
encoder := gob.NewEncoder(file)
|
||||
encoder.Encode(feed)
|
||||
err = encoder.Encode(feed)
|
||||
if err != nil {
|
||||
return fmt.Errorf("error cmd/feed/rss.go SaveFeed encoder.Encode(): %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func OpenFeed(filename string) (*Feed, error) {
|
||||
var feed *Feed
|
||||
|
||||
file, err := os.Open(filename)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error cmd/feed/rss.go ReadFeed os.Open(): %v", err)
|
||||
return nil, fmt.Errorf("error cmd/feed/rss.go OpenFeed os.Open(): %v", err)
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
feed := &Feed{}
|
||||
decoder := gob.NewDecoder(file)
|
||||
decoder.Decode(feed)
|
||||
err = decoder.Decode(feed)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error cmd/feed/rss.go OpenFeed decoder.Decode(): %v", err)
|
||||
}
|
||||
|
||||
return feed, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user