Мне нужно 3 блока try для URL-кодирования? - PullRequest
0 голосов
/ 12 марта 2012

Я попробовал это:

String query = "http://maps.googleapis.com/maps/api/geocode/xml?address="+country+"+"+province+"+"+city+"&sensor=false";

try {
    query = URLEncoder.encode(query, "UTF-8");
}
catch (Exception e) {
    println("getLatLonFromAdress URLEncoder error: "+e);
    return  new float[] { -1f, -1f };
} 

, но он превращает URL в:

http%3A%2F%2Fmaps.googleapis.com%2Fmaps%2Fapi%2Fgeocode%2Fxml%3Faddress%3DCanada%2BAlberta%2BGrande+Cache%26sensor%3Dfalse

Так что я хочу только кодировать страну, провинцию и город.Это плохо, чтобы справиться с этим в одном блоке попытки?Нравится:

try {
    country = URLEncoder.encode(country, "UTF-8");
    province = URLEncoder.encode(province, "UTF-8");
    city = URLEncoder.encode(city, "UTF-8");
}
catch (Exception e) {…}

1 Ответ

1 голос
/ 12 марта 2012

UnsupportedEncodingException не будет выдано, если вы передаете «UTF-8», поскольку это всегда будет присутствовать.Таким образом, вы можете с радостью справиться с ними в одном улове.

...