Imageiio 无法创建图像输入流

发布于 2024-08-30 11:57:43 字数 175 浏览 8 评论 0原文

使用imageio.imageio.read iget时无法创建ImageInputStream。我周围有一个 catch 异常,因此程序可以生存,但我想知道是否有一种方法可以在它周围放置一个 if 语句,检查它是否失败,然后尝试再次读取它(如果失败)。 基本上是问是否有例外测试?

When using imageio.imageio.read iget a can't create ImageInputStream. I have a catch exception around it so the program survives but i was wondering if theres a way to put an if statement round it that checks to see if it falied and then attempt to read it again if it did.
basically asking if there is a test for exceptions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

绮烟 2024-09-06 11:57:43

try...catch 异常测试。如果你真的想把你的异常当作一种循环控制机制,你可以把它包装成这样:

boolean success = false;
do {
   try {
      // do imageIO stuff
      success = true;      // this statement only reached if no exception
   } catch (Exception e) {
      System.err.println(e);
   }
} while (!success);

正如 doublep 提示的那样,这是一个相当无意义的实现,因为问题不太可能从循环的一次迭代消失到最后一次迭代。接下来,所以你的程序可能会无休止地循环打印错误消息。

try...catch is the test for exceptions. If you really want to treat your exception as a loop control mechanism, you can wrap it up something like this:

boolean success = false;
do {
   try {
      // do imageIO stuff
      success = true;      // this statement only reached if no exception
   } catch (Exception e) {
      System.err.println(e);
   }
} while (!success);

As doublep hints, this is a pretty senseless implementation because it's unlikely for the problem to go away from one iteration of the loop to the next, so your program will probably just loop endlessly printing error messages.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文