Now that you mention it, I find it strange that voice assistants don't give natural responses when they encounter an error. It would make them seem more real, and it would be less frustrating.
When you ask a human what the weather is and they tell you to look outside, you don't try to rephrase the question in a way that will make them give you the right answer, you just realize this is not the way to get an answer and you look for another way.
Maybe this isn't the best way for it to work in this case, since there is a different thing you can ask to get the response you want, but maybe this would make interactions better if, say, the phone can't detect your location. "Where did you want the weather for? I think I'm lost."
Of course, the other problem is that if it gives the same response every time it'll get grating. The hundredth time you hear "Look outside," it has probably lost its charm. I wonder how possible it would be to generate responses that take into account all previous conversations, so that this doesn't happen.
One of my meteorologist friends always answers "What's the weather?" with, "The state of the atmosphere."
The possibilities are endless.
Other times it will tell me the wind speed.
Other times, for the same query, it will tell me the wind speed AND direction, which is what I want.
But it's always random what I get: wind speed, wind direction, a combination of both, or (occasionally) the definition of wind.
"What is the weather report for today/this week?" is a more accurate question, despite an annoying amount of verbosity. But answers are still given relatively. "Cloudy" could be an accurate answer, for now. But it will be "Sunny" this afternoon.
Some people will prefer a one word answer to "What's the weather?". Others, will want an hourly breakdown of the day displayed on their screen. Others, might prefer a week. It's hard to give an ideal response for every situation.
Ironically, if I say "Hey Siri, weather" I usually get what I need.