渡された uri 文字列で接続を確立しようとしているバックグラウンド スレッドが、IOException
またはMalformedURLException
. スローされたすべての例外をキャッチし、メッセージを logcat に出力しますが、アプリが msg: と一緒にクラッシュすることは望ましくありませんUnfortunately, MyApp has stopped
。メイン/UI スレッドに適切なエラー メッセージを投稿して、アプリを正常に終了させたいと考えています。
たとえば、次のように言います。
public void onClick(View v){
new Thread(new MyDownloaderClass(url_str)).start();
}
private class MyDownloaderClass implements Runnable{
private String url_str;
public MyDownloaderClass(String arg){url_str=arg;}
public void run(){
URL url=null;
int respCode=0;
try{
url=new URL(str);
HttpURLConnection connection=(HttpURLConnection)url.openConnection();
connection.setRequestMethod("HEAD");
connection.connect();
respCode=connection.getResponseCode();
}catch(MalformedURLException e){
Log.e(TAG,e.getClass()+": "+e.getMessage());
}catch(IOException e){
Log.e(TAG,e.getClass()+": "+e.getMessage());
}
}
}
この場合、入力された文字列が prasable url でないか、接続できない場合、アプリがクラッシュします。しかし、UI スレッドに有用なメッセージを投稿して、アプリのクラッシュを防止できるようにしたいと考えています。
ありがとうございました。