2

throws IOException は、ファイルからの入力用です。

4

3 に答える 3

4

このようなもの:

import java.awt.event.*;
import java.io.*;
class Foo implements MouseListener {
    void io() throws IOException {
        File file = new File("foo");
        FileReader fileReader = new FileReader(file);
        fileReader.read();
        // ...
    }
    @Override public void mouseClicked(MouseEvent arg0) {
        try {
            io();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
    @Override public void mouseEntered(MouseEvent arg0) {}
    @Override public void mouseExited(MouseEvent arg0) {}
    @Override public void mousePressed(MouseEvent arg0) {}
    @Override public void mouseReleased(MouseEvent arg0) {}
}
于 2011-11-24T00:04:24.100 に答える
2

クラスは例外をスローしませんが、メソッドは例外をスローします。

public class Foo implements MouseListener {
    public void throwingUp() throws IOException {
        // ... Code that could throw IOE
    }
    // ... MouseListener impl
}
于 2011-11-23T23:57:38.603 に答える
0

クラスは IOExceptions をスローしませんが、メソッドはスローします。クラスは MouseListener を実装できますが、それらのメソッド (mouseClicked、mousePressed など) は IOExceptions をスローできません。それらを RuntimeException (またはサブクラス) でラップする必要があります。例えば

   @Override
   public void mouseEntered(MouseEvent e) {
      try {
         methodThatMightThrowAnIOException();
      }
      catch (IOException ioe)
      {
         throw new RuntimeException(ioe);
      }
   }

などの他のメソッドは、methodThatMightThrowAnIOException()IOExceptions をスローできます。

于 2011-11-24T00:04:35.543 に答える