Instead of throwing, it would be a nicer experience to just fall back to a default string. This code gets hit for *every* request.  If for some reason we cannot read the properties, then no requests would work. Just returning a default string, like "unknown" would make the failure to read not have big impact.