openweathermap icon indicating copy to clipboard operation
openweathermap copied to clipboard

Error upon non-existing places are unintuitive

Open oniichaNj opened this issue 6 years ago • 2 comments

Consider the following example;

package main

import (
	owm "github.com/briandowns/openweathermap"
	"log"
)

func main() {
	w, err := owm.NewCurrent("C", "en", "<redacted>")
	if err != nil {
		log.Fatal(err)
	}

	err = w.CurrentByName("St Petersburg")
	if err != nil {
		log.Fatal(err)
	}
	log.Printf("Temperature in %s: %.1f °C\n", w.Name, w.Main.Temp)

	err = w.CurrentByName("fff")
	if err != nil {
		log.Fatal(err)
	}
	log.Printf("Temperature in %s: %.1f °C\n", w.Name, w.Main.Temp)
}

This outputs json: cannot unmarshal string into Go struct field CurrentWeatherData.cod of type int as an error for the second CurrentByName call. Perhaps a more descriptive error message could be used here?

oniichaNj avatar Jun 14 '18 20:06 oniichaNj

The response of the particular query is 404 Not Found. Do you think we need to just map the response codes to messages?

theodesp avatar Jun 18 '18 12:06 theodesp

I would think that returning the provided location with the error would provide necessary context. Would more be needed?

briandowns avatar Jun 18 '18 14:06 briandowns