from google map api doc :
Addresses are returned in the order of least matches. As a rule, a more accurate address is the most noticeable result, since it is in this case. Please note that we return different types of addresses, from a particular street address to less specific political objects such as neighborhoods, cities, counties, states, etc.
So the problem is that when you add a street number that does not exist, there is no ideal mat (s). Here's how to find an answer that doesn't fit perfectly:
Google doc again
partial_match indicates that the geocoder did not return an exact match for the original request, although it was able to match part of the requested address.
If you run some test, you will see that when the street number does not exist (or the address is invalid or you do not provide enough information for the unique address), it returns the partial_match variable: true and one or more close matches, as in the picture. 
I made a simple example with autocomplete and geocoder: http://jsfiddle.net/TomKarachristos/qLyrj38d/ , it returns an "invalid result" when partial_match is true
if (results[0].partial_match) { htmlContent = "not a valid result"; } else { [...] }
Note. Google map data may not be 100% accurate.
source share