1
我正在做一個應用程序,它是顯示長時間關閉插入地址。Android的地理編碼器錯誤,這是不被處理的嘗試catch
它工作正常,但問題只在於,當我在文本框中插入錯誤的地址名稱(如「abc xyz」)時,它會停止並在模擬器上顯示「不幸地位置已停止」的錯誤。
我無法理解這一點,因爲我知道try和catch可以處理任何異常。這是真的嗎?
我的示例項目中只有一個文本框和編輯框,這是按鈕單擊的代碼。 這裏是一個代碼...
try{
bt.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
try {
//List<Address> addresses = geocoder.getFromLocation(LATITUDE, LONGITUDE, 1);
add=et.getText().toString();
List<Address> addresses = geocoder.getFromLocationName(add, 1);
if(addresses != null) {
Address returnedAddress = addresses.get(0);
StringBuilder strReturnedAddress = new StringBuilder("\n");
for(int i=0; i<returnedAddress.getMaxAddressLineIndex(); i++) {
strReturnedAddress.append("Latitude="+addresses.get(0).getLatitude()).append("\n");
strReturnedAddress.append("Longitude="+addresses.get(0).getLongitude()).append("\n");
strReturnedAddress.append("Country="+addresses.get(0).getCountryName()).append("\n");
strReturnedAddress.append("State="+addresses.get(0).getAdminArea()).append("\n");
}
myAddress.setText(strReturnedAddress.toString());
}
else{
myAddress.setText("No Address returned!");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
myAddress.setText("Canont get Address!");
}
/*Intent intent=new Intent(Main.this, Horoscope.class);
intent.putExtra("extra", myAddress.getText().toString());
startActivity(intent);*/
}
});
}
catch (Exception e) {
// TODO: handle exception
myAddress.setText("Canont get Address!");
}
試圖抓住'NullPointerException'和'IOException' BEZ地理編碼器拋出這些例外 – 2012-03-21 10:57:10