メソッドでウェブサイトのファビコンを取得しています。もちろん、すべての Web サイトにファビコンがあるわけではありません。だから捕まえたい。Web サイトに favicon がない場合、アプリはクラッシュしませんが、それでも LogCat で FileNotFoundException が発生します。
私が遭遇している問題は、私がそれを捕まえることができないということです
`catch (FileNotFoundException f) を追加すると
私のtry-catchブロックにそれが教えてくれます
Unreachable catch block for FileNotFoundException. This exception is never thrown from the try statement body.
私が持っているオプションは、それを削除するか、doInBackground メソッドに throws 宣言を追加することです。後者は不可能です。これがTry-Catch全体です
try{
String baseURL = getBaseURL ( sourceURLArr[i] );
System.out.println(baseURL + "/favicon.ico");
Bitmap favicon = getBitmapFromURL( baseURL + "/favicon.ico");
Drawable fv = new BitmapDrawable(getResources(),
Bitmap.createScaledBitmap(favicon, 20, 20, true));
source [i].setCompoundDrawablesWithIntrinsicBounds(fv, null, null, null);
} catch(NullPointerException e){
} catch(FileNotFoundException f){
}
FileNotFoundException を NullPointerException に切り替えようとしましたが、同じエラーでした。asynctask do in background メソッドにスローを追加すると、取得します
Exception FileNotFoundException is not compatible with throws clause in AsyncTask<Void,Void,Void>.doInBackground(Void[])
FileNotFoundException をキャッチするにはどうすればよいですか?