Skip to content

Error upon non-existing places are unintuitive #68

@oniichaNj

Description

@oniichaNj

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?

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions