java - 如何同时处理IOException和IIOException

标签 java ioexception javax.imageio

任何人都可以帮助我如何捕获 IOException 和 IIOException,因为我需要区分图像格式和图像加载错误。

这样的东西不起作用,因为我没有捕获 IOException。

catch (IIOException e)
{
  System.out.println("Invalid image format: " + e.getMessage());

  Throwable t = e.getCause();
  if ((t != null) && (t instanceof IOException)) {
    System.out.println("Unable to load image: " + e.getMessage());
  }
}

最佳答案

这就是为什么我们有单独的 catch 语句:

try {

}
catch (ExceptionTypeA e1) { }
catch (ExceptionTypeB e2) { }


  try {
      bim=ImageIO.read(new File(....));
      int[] a={2, 2, 3,4 };
      a[7]=4;
  }
  catch (ArrayIndexOutOfBoundsException ex2) { System.err.println("error 2 "+ex2); }
  catch (Exception ex) { System.err.println("error 1 "+ex); }

需要按照具体情况给出异常(exception)情况;即在你的情况下,

  catch (IIOException ex) { System.err.println("error 1 "+ex); }
  catch (IOException ex2) { System.err.println("error 2 "+ex2); }

关于java - 如何同时处理IOException和IIOException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37324034/

相关文章:

java - 操作栏自定义位置

java - JXTable + GlazedLists + 在拖动选择期间更新 = 问题

java - 从一个类读取 Java 属性文件时没有这样的文件或目录,但从另一个类读取属性文件时没有这样的文件或目录

java - Azure Android Blob 上传 IOException

java - PNG元数据读取和写入

java - 如何设置一个使用 sqlite4java 的简单 gradle 项目?

java - 如何调用servlet的post方法?

java - 使用 Nutch 抓取...显示 IOException

java - 由于连接超时,无法通过 ImageIO.read(url) 获取图像

java - Linux:如何使用 ImageIO.write() 保存图像?