1

imageio.imageio.readigetを使用すると、 を作成できませんImageInputStream。プログラムが生き残るようにキャッチ例外がありますが、失敗したかどうかを確認し、失敗した場合は再度読み取りを試みるifステートメントを配置する方法があるかどうか疑問に思っていました。基本的に、例外のテストがあるかどうかを尋ねますか?

4

1 に答える 1

1

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 が示唆するように、これは非常に無意味な実装です。なぜなら、問題がループの 1 つの反復から次の反復に移行する可能性は低いため、プログラムはエラー メッセージを出力する無限ループになる可能性が高いからです。

于 2010-04-24T20:44:50.773 に答える