我正在使用MediaPlayer
来抓取网址中的视频:
try {
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(this, uri);
}catch (FileNotFoundException e){
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
当我尝试使用url设置数据源时,例如,已经取消了,我在logcat中收到以下错误:
无法在客户端打开文件;尝试服务器端: java.io.FileNotFoundException:没有内容提供者: http://example.com/examplevideo.mp4
但是,我的catch{}
并没有在上面的代码中捕获这个,我需要它这样做,我可以显示错误消息等...
有没有办法在我的代码中捕获这个FileNotFoundException?
提前致谢
答案 0 :(得分:0)
我不知道如何捕捉这个特定的例外。但您可以使用以下内容来捕获任何类型的异常。
try {
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(this, uri);
}catch (FileNotFoundException e){
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
catch (Exception e)
{
e.printStackTrace();
}
答案 1 :(得分:0)
try {
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(this, uri);
}catch (FileNotFoundException e){
e.printStackTrace();
} catch (IOException e) {
Log.i("your tag",e.toString());
}
and look at the log with the tag you whant
答案 2 :(得分:0)
感谢大家的回复。
我忘了提到该文件来自外部服务器,但是采用了与Pramod建议类似的方法,但是根据我的需要进行了修改。
/**
* Checks if an external file on a server exists.
* @param urlString The file URL
* @return true if file exists, false if does not
*/
public boolean checkExternalFileExists(String urlString){
try {
URL url = new URL(urlString);
int response = ((HttpURLConnection)url.openConnection()).getResponseCode();
return response == HttpURLConnection.HTTP_OK;
}
catch (FileNotFoundException e) {
return false;
}catch (MalformedURLException e) {
return false;
} catch (IOException e) {
return false;
}
}
由于