2016-12-21 24 views
0

私は奇妙な問題を抱えています。私はMac上でNetBeansに書いているスクリーンセーバーアプリを持っています。私は現在、Windows 10マシンで動作するようにコードを移植しようとしています。アプリは実行されますが、画像がバッファされるポイントに到達すると、例外をスローせずに終了するようです。時にはそれはうまくバッファリングし、すべてがAOKです。しかし、それ以外のときはbi = ImageIO.read(imageList[n]);に達し、NetBeansはコードが完了したことをうれしく知らせ、不都合なことが起こっていないかのように終了します。例外をスローせずにBufferedImageの後にJavaアプリケーションを終了

  int done = 0; 
      BufferedImage bi = null; 
      while (done == 0) { 
       System.out.println("Entered loop"); 
       bi = ImageIO.read(imageList[n]); 
       if (bi == null) { 
        System.out.println("Image null"); 
       } else { 
        System.out.print("I tried to buffer but failed"); 
       } 
       int biw = bi.getWidth(); 
       System.out.println("Image width = " + biw); 
       if (bi != null) { 
        System.out.println("Image buffered"); 
        done = 1; 
       } 
       System.out.println("done=" + done); 
      } 

私はすなわち"I've tried to buffer but failed"が印刷されることはありません、設定しようとしたエラーメッセージが、しかし"Entered loop"があるので、私はドロップアウトは、前述のラインで起こるかなり自信を持つことができます。

アイデア?どうもありがとう!

+0

コードをデバッグしようとしましたか? – ItamarG3

+0

いいえ、ダイスはありません。 IDEに関する限り、プログラムは正しく実行されて終了しました。 –

+0

例外の代わりにエラーが表示されることがありますか? (OutOfMemoryErrorなど)。 Javaランタイムがクラッシュした場合、クラッシュダンプを取得する必要があります。 – Robert

答えて

0

厳密なルールに違反しているので、わかりません。キャッチブロックを空のままにしないでください。

標準catchブロックは、スタックトレースを印刷する必要があります:

catch(Exception e) { 
    e.printStackTrace(); 
} 

これはあなたの問題について十分なヒントを与える必要があります。

+0

ええ、それは結果を生成しません、ごめんなさい。例外なし、説明なし! –

+0

代わりに例外スーパークラスをキャッチしてください。 ImageIO.readは他のチェックされていない例外もスローします。 – Mordechai

関連する問題