【发布时间】:2014-01-06 03:52:49
【问题描述】:
我有一个小应用程序,它从网络上的不同 url 流式传输,我想处理无效/损坏的 url,我尝试了提供的各种捕获但即使流式传输损坏的文件,我也可以在日志中看到我的日志,我只看到了
Error (1,-1004)
这是我目前的代码
mediaPlayer.reset();
try {
mediaPlayer.setDataSource(urlString);
Log.w("myApp", "0");
mediaPlayer.prepareAsync(); // might take long! (for buffering, etc)
playPauseButton.setVisibility(View.INVISIBLE);
progressBar1.setVisibility(View.VISIBLE);
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
// TODO Auto-generated method stub
duration = mediaPlayer.getDuration();
textDuration.setText(getDurationString(duration/1000));
progress.setMax(duration);
playPauseButton.setChecked(true);
mediaPlayer.start();
playPauseButton.setVisibility(View.VISIBLE);
progressBar1.setVisibility(View.INVISIBLE);
}
});
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
Log.w("myApp", "1");
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
Log.w("myApp", "2");
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
Log.w("myApp", "3");
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
Log.w("myApp", "4");
e.printStackTrace();
}
感谢您的帮助。)
【问题讨论】:
-
什么你不尝试捕获一个通用异常?然后找出它是什么类型的?从发布的信息来看,我无法判断异常是在哪里引发的——如果有的话。
-
我是android编码的新手,你能解释一下如何捕捉通用异常吗?
-
catch (Exception e) { Log.w("myApp", "5"); e.printStackTrace(); }
-
您也尝试逐行调试以找出失败的地方。
标签: java android eclipse try-catch android-mediaplayer